R语言饼图的制作

饼图
饼图比较好看,但是它数据的呈现型不如条形图,所以多数的统计学家都不推荐饼图
饼图可以通过pie()函数创建其格式为
pie(x,labels)
x是一个非负的数值向量
labels是x的标签
例子1简单的饼图

slices <- c(10,12.4,16,8)
lbls <- c("US","UK","Australia","Germany","France")
pie(slices,labels = lbls,main="Simple Pie Chart",cex.names=0.5)

在这里插入图片描述
例子2,为饼图添加比例数值,制作百分比饼图
使用paste()函数进行字符串的拼接制作标签

#把slices中的数值改成此数值在此向量数值总和所占的百分比
x <- slices/sum(slices)*100
#signif指定数值的显示的位数,此例子显示的位数为3
y <- signif(x,digits = 3)
lbls2 <- paste(lbls," ",y,"%",sep="")
pie(x,lbls2,main="Simple Pie Chart",col = rainbow(length(lbls2)))

在这里插入图片描述
例子3,制作3D饼图
使用plotrix包中的pie3D()函数可以制作3D效果的饼图
其中参数explode表示各个扇形分开的距离

ibrary(plotrix)
install.packages("plotrix")
#explode表示各个扇形分开的距离
pie3D(slices,labels=lbls,explode=0.1,main="Simple Pie Chart")

在这里插入图片描述
例子4从表格中创建饼图
pie()函数中的参数x不光可以是一个数值向量还可以是个表格,它和barplot不同的是即使x的参数是一个table格式,它仍需要指定labels。就像x只是提前了table格式中的数值没有提前它的名字
pie()函数可以自动识别表格中的数值

> mytable <- table(state.region)
> mytable
state.region
    Northeast         South North Central          West 
            9            16            12            13 
> lbls3 <- paste(names(mytable)," ",mytable,sep="")
> lbls3
[1] "Northeast 9"      "South 16"         "North Central 12" "West 13"         
> print(lbls3)
[1] "Northeast 9"      "South 16"         "North Central 12" "West 13"         
> pie(mytable,labels = lbls3,main = "Pie Chart from a Table\n (with sample sizes)")

在这里插入图片描述
例子6,制作扇形图
饼图有的时候并不同意比较出各个部分的大小,这种情况下可以使用通过制作扇形图来进行比较各个部分的大小
扇形图–可以同时展示相对数量和各部分大小差异的方法
扇形图是通过plotrix包中的fan.plot()函数实现(fan汉语含义为扇子的含义)
扇形图相对于饼图的不同点是它们的各个部分公用一个公共边
这样可以方便的分辩出图形的每部分的大小

library(plotrix)
slices <- c(10,12.4,16,8)
lbls <- c("US","UK","Australia","Germany","France")
fan.plot(slices,labels = lbls,main="Fan plot")

在这里插入图片描述
结束总结
饼状图相对于条形图来说更加好看
但没有条形图更加直观,所以一般统计学家并不推荐饼图
制作饼图的函数有3个,一个是经常使用的pie()函数
一个是plotrix包中的pie3D()函数可以制作3D效果的饼图
最后一个是plotrix包中的fan.plot()函数可以制作扇形图
函数pie()可以直接输入表格数据它可以自动识别其中的数值,注意这种情况下labels参数扔需要指定

发布了39 篇原创文章 · 获赞 11 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_42712867/article/details/96088301