棒棒糖图介绍
简单老来说,就是条形图的替代方法,但是比柱状图能展示更加丰富的信息
直接上图,给大家展示一下我画的棒棒糖图:
棒棒糖图基本画法
由分组变量“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)