RStudio ggplot点图:按Trial添加均值误差棒并修改点形状
解决方案:按Trial计算均值+标准误并切换形状区分
修改后的完整代码
library(ggpubr) ggdotplot(Plot1, x="Dose", y="Y", shape="Trial", color = "black", ylab = "#", ylim = c(0,10), legend="none") + facet_grid("Age") + stat_summary(aes(group = Trial), fun.data = mean_se, geom = "pointrange", color="black") + theme_bw() + theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(), panel.background = element_rect(colour = "black", size=1))
关键修改说明
- 按Trial单独计算统计量:
在stat_summary中添加aes(group = Trial),让统计计算按Dose+Trial的组合分组,避免合并两个Trial的均值;同时将fun.data = mean_sdl替换为fun.data = mean_se——mean_sdl计算的是标准差倍数范围,mean_se才是标准误对应的误差棒。 - 切换为形状区分且统一黑色:
将原代码中绑定颜色的fill="Trial", color="Trial"改为shape="Trial", color="black",移除palette参数(无需再用颜色区分分组),让不同Trial的点以形状区分,且所有点统一为黑色。如果需要自定义形状,可在ggdotplot中添加shape=c(16,17)这类参数(根据Trial数量调整形状值)。
内容的提问来源于stack exchange,提问作者Kristof Haems
相关产品推荐
相关产品推荐

