今天要给大家介绍的Pie chart(饼图),本来是不打算写这个的,因为用Excel画饼图实在是太方便了。本着能少动一下是一下的懒人原则,是不打算用R画的,再说,本小仙不是掌握了R作图大器ggplot2
么,实在需要用的时候我就一句ggplot() geom_pie()
不就搞定了。
结果后来用Excel画饼图调整颜色、大小的时候着实有些崩溃。习惯了几句代码就出图之后,没有办法再忍受手动操作、一遍又一遍调整了。懒惰驱使我学习。。。接下来又发现,geom_pie()
根本不存在,得用geom_bar()
画饼图。
好了,废话一堆,开始步入正题。
作图的流程如下,先画出堆积柱状图
之后,在此基础上再修改细节。
具体步骤如下:
Step 1. 绘图数据的准备 首先还是要把你想要绘图的数据调整成R语言可以识别的格式,在excel中保存成csv格式。 数据的格式如下图:
Step2. 绘图数据的读取
代码语言:javascript复制data<-read.csv(“your file path”, header = T)
Step3.绘图所需package的调用
代码语言:javascript复制library(ggplot2)
Step4. 饼图百分比标签准备
代码语言:javascript复制mylabel<-paste(data[,2],"%") #数值后加百分号,赋值给一个向量
mylabel<-rev(mylabel) #rev()函数颠倒标签的顺序
Step5.绘图
代码语言:javascript复制p<-ggplot(data,aes(x="",y=Percentage,fill=Group))
geom_bar(stat = "identity",color="white")
scale_fill_manual(values = c("#FFA533","#2BCF76","#4874EC","#A372E6"))
coord_polar(theta = "y")
labs(x="",y="",title="")
theme(axis.text.x = element_blank(),
axis.ticks = element_blank(),
panel.grid = element_blank())
geom_text(aes(y= cumsum(Percentage)-Percentage/2, x= 1.2),label= rev(mylabel))
p