gpt4 book ai didi

r - 将误差线 (geom_errorbar) 水平置于柱 (geom_bar) 上

转载 作者:行者123 更新时间:2023-12-04 22:13:58 24 4
gpt4 key购买 nike

我如何将误差线放置在适当颜色条的中心?

df1 <- data.frame(
supp = c("OJ","OJ","OJ","VC","VC","VC"),
dose = c(0.5,1,2,0.5,1,2),
len = c(13.23,22.7,26.06,7.98,16.77,26.14),
se = c(1.41,1.27,0.84,0.87,0.8,1.52)
)

df1$dose <- factor(df1$dose)
ggplot(df1, aes(x=dose, y=len, fill=supp)) +
geom_bar(stat="identity", position=position_dodge()) +
scale_fill_manual(name = "", values = c("deepskyblue1", "green")) +
geom_errorbar(data = df1[1:3,], aes(ymin=len-se, ymax=len+se), width=.4, colour=c("deepskyblue1"), position=position_dodge(.9)) +
geom_errorbar(data = df1[4:6,], aes(ymin=len-se, ymax=len+se), width=.4, colour=c("green"), position=position_dodge(.9))

最佳答案

由于误差线的数据位于同一数据帧中,您不需要在 data= 中提供参数 geom_errorbar() 并且不需要两次调用 geom_errorbar()

您应该在 geom_errorbar() 中提供 yminymax 值,aes() 中的 color=supp 也将确保误差条根据 aes() 值着色。要获得与条形相同的颜色,请添加具有相同颜色名称的 supp。使用参数 scale_color_manual() 您可以在条形中心获得误差条。

ggplot(df1, aes(x=dose, y=len, fill=supp)) +      
geom_bar(stat="identity", position=position_dodge()) +
scale_fill_manual(name = "", values = c("deepskyblue1", "green")) +
geom_errorbar(aes(ymin=len-se, ymax=len+se,color=supp), width=.4,
position=position_dodge(.9))+
scale_color_manual(name = "", values = c("deepskyblue1", "green"))

关于r - 将误差线 (geom_errorbar) 水平置于柱 (geom_bar) 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15746631/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com