Столбики ошибок не отображаются при перестановке осей (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()