如何从表格提取误差值为ggplot绘制的条形图添加误差棒
R ggplot2 条形图添加误差棒异常解决方案
核心问题原因
- 误差棒上下限未使用正确的绝对坐标:你表格中
error_1、error_2存储的是误差偏移值,不是y轴的绝对坐标,直接作为ymin/ymax传入会导致误差棒位置完全错位,正确逻辑应为ymin = AoI - error_1、ymax = AoI + error_2 - 存在无效冗余代码:
x=show(table)无实际作用,show()仅用于控制台打印,返回值为NULL,无需赋值 - 主题重复设置:
theme_gray()和theme_classic()同时调用时,后者会完全覆盖前者配置,保留一个即可 - 变量命名风险:
table是R内置基础函数名,用作数据框变量名容易引发命名冲突,建议更换为df、data_tab等自定义名称
修正后代码
setwd("D:/data") # 避免和内置函数重名,修改变量名 data_tab <- read.table("values.txt", dec = ".", sep = "\t", header = TRUE) ggplot(data_tab, aes(x = values, y = AoI)) + geom_bar(stat = "identity", fill = "gray", color = "black") + labs(x = "values", y = "AoI") + # 正确计算误差棒上下限 geom_errorbar(aes(ymin = AoI - error_1, ymax = AoI + error_2), width = 0.9) + theme_classic()
内容的提问来源于stack exchange,提问作者Moritz
相关产品推荐
相关产品推荐

