【生信分析】棒棒糖也能成图?R语言绘制棒棒糖图

棒棒糖图介绍

简单老来说,就是条形图的替代方法,但是比柱状图能展示更加丰富的信息

直接上图,给大家展示一下我画的棒棒糖图:

棒棒糖图基本画法

由分组变量“cyl”着色的棒棒糖图表:

ggdotchart(dfm, x = "name", y = "mpg",
           color = "cyl",                                # 按组显示颜色
           palette = c("#00AFBB", "#E7B800", "#FC4E07"), # 自定义调色板
           sorting = "ascending",                        # 按降序对值排序
           add = "segments",                             # 添加从y=0到点的线段
           ggtheme = theme_pubr()                        # 主题
           )

添加 排序,旋转,点大小,数字

  • 按降序排序:sorting = "descending"。
  • 垂直旋转绘图: rotate = = TRUE 
  • 每个组内的 mpg 值进行排序:group = "cyl"
  • 点大小设置: dot.size=6
  • 添加 mpg 值作为标签。 label = "mpg" 或者 label = round(dfm$mpg)
ggdotchart(dfm, x = "name", y = "mpg",
           color = "cyl",                                # 按组显示颜色
           palette = c("#00AFBB", "#E7B800", "#FC4E07"), # 自定义调色板
           sorting = "descending",                       # 按降序对值排序
           add = "segments",                             # 添加从y=0到点的线段
           rotate = TRUE,                                # 垂直旋转
           group = "cyl",                                # 按组排序
           dot.size = 6,                                 # 点大小
           label = round(dfm$mpg),                       # 将mpg值添加为点标签
           font.label = list(color = "white", size = 9, 
                             vjust = 0.5),               # 调整标签参数
           ggtheme = theme_pubr()                        # ggplot2主题
           )

添加 偏差

  • 更改分段颜色和大小: add.params = list(color = “lightgray”, size = 2)
ggdotchart(dfm, x = "name", y = "mpg_z",
           color = "cyl",                                # 按组显示颜色
           palette = c("#00AFBB", "#E7B800", "#FC4E07"), # 自定义调色板
           sorting = "descending",                       # 按降序排序值
           add = "segments",                             # 添加从y=0到点的分段
           add.params = list(color = "lightgray", size = 2), # 添加从y=0到点的分段
           group = "cyl",                                # 按组排序
           dot.size = 6,                                 # 点大小
           label = round(dfm$mpg_z,1),                   # 将mpg值添加为点标签
           font.label = list(color = "white", size = 9, 
                             vjust = 0.5),               # 调整标签参数
           ggtheme = theme_pubr()                        # ggplot2主题
           )+
  geom_hline(yintercept = 0, linetype = 2, color = "lightgray")

分组配色

  • 按组对 y 文本进行着色(使用 y.text.col = TRUE):
 
  
ggdotchart(dfm, x = "name", y = "mpg",
           color = "cyl",                                # 分组颜色
           palette = c("#00AFBB", "#E7B800", "#FC4E07"), # 自定义调色板
           sorting = "descending",                       # 按降序对值进行排序
           rotate = TRUE,                                # 垂直旋转
           dot.size = 2,                                 # 点尺寸
           y.text.col = TRUE,                            # 按组为y文本上色
           ggtheme = theme_pubr()                        # ggplot2主题
           )+
  theme_cleveland()                                      # 添加虚线网格

想要了解更多可以访问 :

kassambara/ggpubr: 'ggplot2' Based Publication Ready Plots (github.com) 

猜你喜欢

转载自blog.csdn.net/m0_61164319/article/details/134086468