R语言作图——Pie chart

2019-11-23 08:43:47 浏览数 (1)

今天要给大家介绍的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

0 人点赞