◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎
饼图(pie chart)采用相对面积(relative areas)显示数据信息。但是,这种图形不利于对数据的视觉判断。条形图(bar chart)和点图(dot chart)是更好的数据显现方法。这是因为依据同一个尺度对位置做出的判断比依据角度做出的判断更精确(Cleveland,1985,p.264)。多数统计学家不看好饼图,饼图常用于商业和大众传媒中。本节只对饼图做一个简单的介绍。
饼图的R函数是pie(x,labels),在其中可以设定变元。变元x指定数值向量,这些数值以饼块(pie slices,扇形)的面积在图中显示。变元labels用于设置饼块名称。除此之外,还可以在pie中增加其他变元。譬如,变元radius用于调整饼图的半径,col用于设置饼块的颜色。更多有关饼图变元的设置,可利用?pie查询。如果研究者要制作一个三维图(3D chart),则需要下载数据包plotrix,调用pie3D函数。图2.10用下面的R命令绘制而成:
>par(mfrow=c(1,2),mai=c(0,0,0,0.75),omi=c(0,0,0,0.2))
>x<-c(2,5,8)
>labels<-c(' G',' K',' L')
>pct<-round(x/sum(x)*100,digits=2)
>labels2<-paste(labels,'',pct,'%',sep='')
>pie(x,labels2,radius=0.9,col=c(1,2,3))
>require(plotrix)
>pie3D(x,labels=labels,radius=1,explode=0.04,height=0.1,mar=c(0,0,0,0.355),labelcex=1,col=c(1,2,3))
图2.10 饼图
在函数par中,mai和omi用于设置制图区边缘和图形区外缘大小,mfrow=c(1,2)用于将两幅饼图放置在一排。命令round(x/sum(x)*100,digits=2)设置x数值大小的百分比,保留两位小数。命令paste(labels,'',pct,'%',sep='')用于串联字符,用变元sep将之分开,''调整邻近字符间距。在函数pie3D中,变元explode设置饼图“爆裂”(explode)的量;变元height设置饼图的高度。变元mar设置饼图边缘大小;变元labelcex设置标签的大小。