Столбики ошибок не отображаются при перестановке осей (plotCI из пакета plotrix)

Я хочу изменить исходную точку для графика с вертикальными и горизонтальными полосами ошибок. Я использую функцию plotCI из пакета plotrix для построения графиков.

Очень короткий воспроизводимый пример:

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)

Здесь я получаю только горизонтальные полосы ошибок. Кажется, что обращение оси Y не было "распознано" при втором вызове plotCI.

Есть идеи?!? Большое спасибо!

1 ответ

Решение

Я люблю plotrix и связанные с ним функции, но я думаю, что вы пытаетесь сделать, мешает arrows() функция, которая plotCI() полагается на не соблюдая ylim разворот. Вы можете вместо этого использовать 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()

Другие вопросы по тегам