R语言如何绘制棒棒糖图

什么是棒棒糖图

棒棒糖图,顾名思义,由点棍组成,形似棒棒糖。其实就是柱形图的变种。

棒棒糖图:棒棒糖图传达了与柱形图或者条形图相同的信息,只是将矩形转变成线条,这样可减少展示空间,重点放在数据点上。

绘图前的数据准备

​demo数据可以在https://www.r2omics.cn/res/demodata/lolly.txt下载。

包含2列数据,第一列是名称,第二列是数值。

# A tibble: 9 x 2
  name  value
  <chr> <int>
1 A2       12
2 A1        4
3 A3       31
4 B1       12
5 B2       23
6 B3       23
7 C1        9
8 C2       22
9 C3       15

R语言如何绘制棒棒糖图

# 代码来源:https://www.r2omics.cn/
# 加载R包,没有安装请先安装  install.packages("包名") 
library(ggpubr)
library(ggplot2)

# 读取棒棒糖图数据文件
df = read.delim("https://www.r2omics.cn/res/demodata/lolly.txt")

# 绘图
ggdotchart(df, 
           x = colnames(df)[1],
           y = colnames(df)[2],
           color = colnames(df)[1],
           palette = RColorBrewer::brewer.pal(nrow(df), "Set1") , # 修改颜色
           sorting = "none",              # 排列方式 sorting = c("ascending", "descending", "none"),
           add = "segments",              # 添加线条add = c("none", "segment")
           dot.size = 10,                 # 点大小
           add.params = list(color = "lightgray", size = 5),  #修改线条参数,颜色,粗细
           position = position_dodge(0.1),                    #调整位置
           label = round(df[[2]]),                            #添加数字标签
           font.label = list(color = "white",                 #设置数字标签参数,颜色,大小,位置
                             size = 9, 
                             vjust = 0.5)
)