ggplot2:向scatterplot中的每个点添加两个错误栏

Jen*_*sen 25 r ggplot2

我需要在散点图中的每个点上绘制两个错误条.通常是垂直误差条,它对应于点y值的误差,但我需要添加与X轴(水平)相关的误差条.我可以用一些abline命令来做这个,但是认为用ggplot2做一些更聪明的方法呢?

jor*_*ran 36

为了完成起见,跟进我的评论,这是一个简单的(尽管很难看)的例子:

df <- data.frame(x = 1:10,
                 y = 1:10,
                 ymin = (1:10) - runif(10),
                 ymax = (1:10) + runif(10),
                 xmin = (1:10) - runif(10),
                 xmax = (1:10) + runif(10))

ggplot(data = df,aes(x = x,y = y)) + 
    geom_point() + 
    geom_errorbar(aes(ymin = ymin,ymax = ymax)) + 
    geom_errorbarh(aes(xmin = xmin,xmax = xmax))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 非常感谢您的回复!我花了一些时间用我自己的数据重现你的结果,因为在我的数据中列没有命名为"x"和"y",这显然意味着对于geom_errorbar你需要传递x坐标,即: geom_errorbar(aes(x = var,ymin = ...))和geom_errorbarh x和y,所以:geom_errorbarh(aes(x = var1,y = var2,xmin = ...)).水平geom_errorbarh的最后一个细节似乎没有记录在帮助文件中,我不得不从我得到的错误消息中推断出这一点. (4认同)