轴反转时不绘制误差线(来自包 plotrix 的 plotCI)

Error bars are not plotted when axes are reversed (plotCI from package plotrix)

我想更改带有垂直和水平误差条的绘图的原点。我正在使用 'plotrix' 包中的 plotCI 函数进行绘图。

一个非常简短的可重现示例:

x <- c(1, 2)
y <- c(3, 4)
err.x <- c(0.5, 0.2)
err.y <- c(0.25, 0.3)
plotCI(x, y, uiw = err.x, err = "x",
       ylim = range(y+err.y, y-err.y))
plotCI(x, y, uiw = err.y, err = "y", add = T)

这个情节一切都很好。我得到了水平和垂直误差线。

plotCI(x, y, uiw = err.x, err = "x",
       ylim = rev(range(y+err.y, y-err.y)))
plotCI(x, y, uiw = err.y, err = "y", add = T)

在这里,我只得到水平误差线。第二次调用 plotCI 时,似乎 y 轴的反转不是 'recognized'。

有什么想法吗?!?非常感谢!

我喜欢 plotrix 及其相关功能,但我认为您尝试做的事情受到 plotCI() 依赖的 arrows() 功能的阻碍,不遵守 [=14] =] 逆转。您可以改为使用 ggplot2 来获取您想要的情节:

x <- c(1, 2)
y <- c(3, 4)
err.x <- c(0.5, 0.2)
err.y <- c(0.25, 0.3)

library(ggplot2)
ggplot(data.frame(x,y,err.x,err.y), aes(x=x, y=y)) +
  geom_point() + 
  geom_errorbar(aes(ymin=y-err.y, ymax=y+err.y), width=0.05) + 
  geom_errorbarh(aes(xmin=x-err.x, xmax=x+err.x), height=0.05) + 
  scale_y_reverse()