我是R的新用户,我正在尝试使用ggplot2将自定义标签添加到我的条形图中。这些标签不是我的数据集的一部分,我使用stat =“ summary”而不是“ identity”,所以我对如何正确实现geom_text感到困惑。
每个条表示不同的处理(处理1,处理2等)。我希望条1标记为“ ab”,条2标记为“ ac”,条3标记为“ c”,条4标记为“ a”,条5标记为“ bc”。我有一个名为“摘要”的列表,该列表在“ sig_labels”列中包含这些标签。然后,我尝试使用geom_text应用标签,但没有成功。
非常感谢您的帮助!
我的数据集如下:
Treatment Speed
1 Treatment 1 3
2 Treatment 1 4
3 Treatment 1 3.4
4 Treatment 1 3.3
5 Treatment 2 2
6 Treatment 2 3.3
7 Treatment 2 2.8
8 Treatment 2 3.1
9 Treatment 3 4.4
10 Treatment 3 4.3
11 Treatment 3 5
12 Treatment 3 3.9
13 Treatment 4 4.2
14 Treatment 4 2.2
15 Treatment 4 2.1
16 Treatment 4 2.1
17 Treatment 5 3.0
18 Treatment 5 3.2
19 Treatment 5 3.3
20 Treatment 5 3.4
我的摘要列表如下:
Treatment sig_labels
1 Treatment 1 ab
2 Treatment 2 ac
3 Treatment 3 c
4 Treatment 4 a
5 Treatment 5 bc
我的代码如下:
dataset %>%
ggplot(aes(x= Treatment, y= Speed)) +
geom_bar(stat="summary", fun.y= "mean", fill="#FAA756", width= 0.5, colour="black",
size = 0.3) +
ggtitle("Speed") +
xlab("Treatment") +
ylab("Speed") +
stat_summary(fun.data= mean_se, geom = "errorbar", width = .2, size = 0.3) +
theme(
plot.title = element_text(hjust = 0.5),
axis.text.x = element_text(color="black"),
axis.text.y = element_text(color="black"),
text = element_text(family = "Calibri"),
# Remove panel border
panel.border = element_blank(),
# Remove panel grid lines
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
# Remove panel background
panel.background = element_blank(),
# Add axis line
axis.line = element_line(colour = "black"),
) +
scale_y_continuous(expand = c(0,0),
limits = c(0,5.5))
+ geom_text(data = summary,aes(label = sig_labels,vjust = -0.2))