参考资料:R语言实战【第2版】
饼图可由以下函数创建:
pie(x,labels)
其中x是一个非负数值向量,表示每个扇形的面积,而labels则表示各扇形标签的字符型向量。
# 设置参数为2*2图
par(mfrow=c(2,2))
# 设置作图数据
slices<-c(10,12,4,16,8)
lbls<-c("US","UK","AU","GM","FA")
# 图1
pie(slices,labels=lbls,
main="Simple Pie Chart")
# 图2
# 为饼图添加比例数值
pct<-round(slices/sum(slices)*100)
lbls2<-paste(lbls," ",pct,"%",sep="")
pie(slices,labels=lbls2,
col=rainbow(length(lbls2)),
main="Pie Chart with Percentages")
# 图3
library(plotrix)
pie3D(slices,labels=lbls,explode=0.1,
main="3D Pie Chart")
# 图4
mytable<-table(state.region)
lbls3<-paste(names(mytable),"\n",mytable,sep="")
pie(mytable,labels=lbls3,
main="Pie Chart from a Table\n (with sample sizes)")
饼图让比较各扇形的值变得困难(除非这些值被附加在标签上)。为了改善这种状况,R语言中有一种扇形图(fanplot)的饼图变种。扇形图提供了一种同时展示相对数量和相互差异的方法。在R中,扇形图是通过plotrix包中的fan.plot()函数实现的。
library(plotrix)
slices<-c(10,12,4,16,8)
lbls<-c("US","UK","Australia","Germany","France")
fan.plot(slices,labels=lbls,main="Fan Plot")
在一幅扇形图中,各个扇形相互叠加,并对半径做了修改,这样所有扇形都是可见的。