如何在条形图上方的 ggplot2 中为列之间的变化创建水平括号?
How create horizontal brackets for variation between columns in ggplot2 above barchart?
数据集在这里:
周,session
第 1,100 周
周2,120
周3,90
第 4,180 周
没有括号的图形代码在这里:
ggplot(data=df, aes(x=week, y=session)) +
geom_bar(stat="identity", fill="steelblue")+
geom_text(aes(label=session), vjust=1.6, color="white", size=3.5)+
theme_minimal()
有一个函数ggpubr::stat_pvalue_manual
最初是为测试两组数据点的显着性条设计的:
library(ggpubr)
#> Loading required package: ggplot2
library(tidyverse)
data <- tribble(
~group, ~value,
1, 100,
2, 120,
3, 90,
4, 180,
)
bar_data <- tribble(
~group1, ~group2, ~label, ~y.position,
1,2, "20%", 200,
2,3, "-25%", 200,
3,4, "200%", 200
)
data %>%
ggplot(aes(group, value)) +
geom_col() +
stat_pvalue_manual(bar_data, bracket.shorten = 0.1)
由 reprex package (v2.0.0)
于 2022-04-27 创建
也可以自动创建差异,例如使用
bar_data <-
data %>%
transmute(
group1 = group,
group2 = group + 1,
diff = (lead(value) - value) / value,
label = paste0(diff * 100, "%"),
y.position = 200
) %>%
filter(!is.na(diff))
数据集在这里: 周,session 第 1,100 周 周2,120 周3,90 第 4,180 周
没有括号的图形代码在这里:
ggplot(data=df, aes(x=week, y=session)) +
geom_bar(stat="identity", fill="steelblue")+
geom_text(aes(label=session), vjust=1.6, color="white", size=3.5)+
theme_minimal()
有一个函数ggpubr::stat_pvalue_manual
最初是为测试两组数据点的显着性条设计的:
library(ggpubr)
#> Loading required package: ggplot2
library(tidyverse)
data <- tribble(
~group, ~value,
1, 100,
2, 120,
3, 90,
4, 180,
)
bar_data <- tribble(
~group1, ~group2, ~label, ~y.position,
1,2, "20%", 200,
2,3, "-25%", 200,
3,4, "200%", 200
)
data %>%
ggplot(aes(group, value)) +
geom_col() +
stat_pvalue_manual(bar_data, bracket.shorten = 0.1)
由 reprex package (v2.0.0)
于 2022-04-27 创建也可以自动创建差异,例如使用
bar_data <-
data %>%
transmute(
group1 = group,
group2 = group + 1,
diff = (lead(value) - value) / value,
label = paste0(diff * 100, "%"),
y.position = 200
) %>%
filter(!is.na(diff))