美文网首页
R可视化——饼图的绘制方法汇总

R可视化——饼图的绘制方法汇总

作者: 科研那点事儿 | 来源:发表于2022-09-09 09:27 被阅读0次

数据

使用随机编写数据,包含两列,一列为group,一列为value:

rm(list=ls())
df<-data.frame(
  group=c('A', 'B', 'C', 'D', 'E'),
  value=c(55,75,20,60,100))
image.png

使用Pie函数绘制饼图

col<-rainbow(5)
pie(df$value, #扇形数值大小
    labels = df$group, #各扇形面积标签
    radius = 0.9,#饼图半径
    main = 'Pie',#标题
    clockwise = FALSE, #饼图各个切片是否按顺时针做出分割
    col = col)#自定义颜色
image.png

添加图例:

legend("topright", df$group, cex = 0.8,fill = col)#图例
image.png

也可以替换扇形中的填充形式,使用线条进行填充:

pie(df$value, #扇形数值大小
    labels = df$group, #各扇形面积标签
    radius = 0.9,#饼图半径
    main = 'Pie',#标题
    clockwise = FALSE, #饼图各个切片是否按顺时针做出分割
    density = 20, # 设置阴影线密度
    angle = 45,#设置阴影线角度
    col = rainbow(5))#自定义颜色
image.png

ggoplot2包绘制饼图

     ggplot2包中没有专门的绘制饼图的函数,所以得先绘制条形图,再转换成极坐标形式以实现饼图的绘制:

library(ggplot2)
ggplot(df, aes(x="", y = value, fill = group))+#数据
  geom_bar(width = 1, stat = "identity",color="white")+#绘制柱状图
  coord_polar('y')+#变为极坐标
  theme_void()+#主题
  scale_fill_manual(values=rainbow(5))+#自定义颜色
  geom_text(aes(y = sum(value)-cumsum(value)+value/2,
                    label = scales::percent(value/sum(value))), size=4.5)#标签
image.png

ggstatsplot包绘制饼图

     基于ggstatsplot包中的ggpiestats()函数进行绘制,但是这个包使用的数据是不需要统计频数的,直接使用原始数据绘图即可:

#以数据集mtcars为例
df1<-mtcars
image.png
library(ggstatsplot)
ggpiestats(df1, 'vs', #数据
           direction = 1, #方向,通过1和-1调整
           title = "Pie",#标题
           factor.levels = df1$vs,#标签
           slice.label = 'percentage',#标签类型,percentage/counts/both
           perc.k = 2,#百分数小数位数
           results.subtitle = T) #标题是否显示统计结果
image.png

ggpubr包绘制饼图

library(ggpubr)
ggpie(df, "value", #数据
      label = "group",#标签
      lab.pos = 'in',#标签位置
      lab.font = c(5, 'white'),#标签大小及颜色
      fill = "group", #填充
      color = "grey",#间隔颜色
      palette = rainbow(5))#填充颜色
image.png

pie3D()函数绘制3D饼图

library(plotrix)
col<-rainbow(5)
pie3D(df$value, #数据
      labels = df$group, #标签
      theta = pi/5, 
      labelcex=1.2, #标签大小
      main = "3D pie",#标题
      explode = 0.1, #各扇形间隔
      height = 0.08,#各扇形高度
      radius = 1,#半径,0~1
      col = rainbow(5))#颜色
legend("topright", df$group, cex = 0.8,fill = col)#图例
image.png

fan.plot()函数绘制扇形

library(plotrix)
col<-rainbow(5)
fan.plot(df$value,#绘图数据
         radius=1,#半径
         col=col,#填充颜色
         labels=df$group,#标签
         label.radius=1.1,#标签距扇形的距离
         align="left",#扇形对齐的位置
         main="Fan plot")#标题
legend("right", df$group, cex = 0.9,fill = col)#图例
image.png
参考:见各函数帮助文档

相关文章

  • R可视化——饼图的绘制方法汇总

    数据 使用随机编写数据,包含两列,一列为group,一列为value: 使用Pie函数绘制饼图 添加图例: 也可以...

  • R语言:pie3D绘制三维饼图

    导读: 前面画过二维饼图:R语言:pie绘制饼图[https://www.jianshu.com/p/60ffc3...

  • python学习第三天

    可视化展示 绘制曲线图 绘制饼图 绘制散点图 字典解析和集合解析 字典解析和列表推导式很像 集合解析 python...

  • R语言可视化(六):饼图绘制

    06.饼图绘制 清除当前环境中的变量 设置工作目录 基础pie函数绘制饼图 ggplot2包绘制饼图 ggpubr...

  • 生物统计-数据可视化

    可视化工具:R包,ggplot,ggplot2,两种可视化变量:类别型、定量型。饼图、柱状图。条形图、散点图、箱线...

  • 手把手教你 Tableau 绘制环形图(六)

    Tableau 可视化之环形图 Tableau 是不支持直接绘制环形图的,我们可以通过 2 个大小不同的饼图叠加的...

  • 使用OmicCircos包--绘制基因圈图

    本期内容为[R语言可视化-精美图形绘制系列]--使用OmicCircos包--绘制基因圈图 教程网址: 教程可以查...

  • 可视化神器Plotly玩转箱形图

    可视化神器Plotly玩转箱形图 在之前的文章中介绍过如何使用Plotly绘制柱状图、饼图、散点图等,都是比较常用...

  • 韦恩图

    R语言可视化(九):韦恩图绘制 - 简书 (jianshu.com)[https://www.jianshu.co...

  • Python学习第三天

    可视化 绘制正弦余弦曲线 案例: 输出结果: 饼状图 案例: 输出结果: 散点图 案例: 输出结果: 字典解析 和...

网友评论

      本文标题:R可视化——饼图的绘制方法汇总

      本文链接:https://www.haomeiwen.com/subject/trmanrtx.html