如何在 R 中的 ggplot 中为条形图添加误差线
Posted
技术标签:
【中文标题】如何在 R 中的 ggplot 中为条形图添加误差线【英文标题】:How to add errorbars for a bar plot in ggplot in R 【发布时间】:2019-09-17 17:53:56 【问题描述】:我最近尝试将误差线添加到我在 R 中的 ggplot 中创建的条形图中。但是,当我查找 geom_errorbar 时,似乎唯一记录在案的方法是创建另一个包含 ymin 的数据框和每个条形的 ymax,并使用该 stat='identity' 属性绘制条形图,这看起来很麻烦。
例如,这是出现在 geom_errorbar 帮助页面中的示例:
df <- data.frame(
trt = factor(c(1, 1, 2, 2)),
resp = c(1, 5, 3, 4),
group = factor(c(1, 2, 1, 2)),
se = c(0.1, 0.3, 0.3, 0.2)
)
df2 <- df[c(1,3),]
# Define the top and bottom of the errorbars
limits <- aes(ymax = resp + se, ymin=resp - se)
p <- ggplot(df, aes(fill=group, y=resp, x=trt))
p + geom_bar(position="dodge", stat="identity")
# Because the bars and errorbars have different widths
# we need to specify how wide the objects we are dodging are
dodge <- position_dodge(width=0.9)
p + geom_bar(position=dodge) + geom_errorbar(limits, position=dodge, width=0.25)
难道没有更好的方法可以不用 stat='identity' 绘图吗?
【问题讨论】:
您的实际问题是什么?您在尝试将其应用于您自己的数据时遇到了什么问题? 【参考方案1】:有一种更简单的方法可以使用 geom_errobars 绘制误差线,但由于某种原因,该方法没有得到很好的记录。基本上你只需要使用 stat='summary' 到 geom_errorbar 对象。
ggplot(data=mtcars, aes(x=gear, y=hp)) + geom_bar(stat='summary') + geom_errorbar(stat='summary', width=.2)
这是真的,如果您只想使用误差条来描述条形两侧的标准偏差(您可能希望使用不同的度量,例如置信区间等)
【讨论】:
以上是关于如何在 R 中的 ggplot 中为条形图添加误差线的主要内容,如果未能解决你的问题,请参考以下文章
R语言ggplot2可视化条形图(bar plot)并为条形图添加误差条(error bar)自定义设置误差条(error bar)的颜色/色彩( Barplots with Error bar)
R语言ggplot2可视化因子分组并排条形图柱状图可视化添加误差条:barplot with several variables side by side grouped by a factor