Как получить стрелки типа T в geom_segment?

Мне нужно вручную добавить планки ошибок на ggplot с помощью geom_crossbar.

Я пытался использовать «geom_arrow», но не смог найти, как изменить размер стрелки или изменить угол стрелки на 90 (как я могу сделать с помощью стрелок функций на графике). Самое близкое, что у меня есть, это «geom_segment», где я мог выбрать длину стрелки, но все еще не мог изменить угол стрелки.

Ниже приведен пример того, что я хотел бы получить: введите здесь описание изображения

Вот код с geom_segment:

xaxis = c(5,6,7,8)
yaxis1 = c(3,3,2,1)
yaxis2 = c(6,5,3,3)
df = data.frame(cbind(xaxis,yaxis1,yaxis2))
ggplot(df) +
  geom_crossbar(aes(ymin=yaxis1, ymax=yaxis2, 
                    x=xaxis, y=yaxis1),
                fill = alpha("black",0.5), fatten=0) +
  geom_segment(mapping=aes(x=xaxis, y=yaxis1-0.4, xend=xaxis, yend=yaxis1+0.4),
               color="black",
               arrow=arrow(length = unit(0.25, "cm"), ends="both"))

Любая помощь приветствуется!


person Elsa    schedule 21.03.2020    source источник
comment
Разве это не первый аргумент для arrow угол?   -  person Rui Barradas    schedule 21.03.2020


Ответы (1)


В ggplot вы можете использовать geom_errorbar, чтобы добавить полосы погрешностей к гистограмме, а затем установить ширину с помощью аргумента width:

library(ggplot2)
ggplot(df) +
  geom_crossbar(aes(ymin=yaxis1, ymax=yaxis2, 
                    x=xaxis, y=yaxis1),
                fill = alpha("black",0.5), fatten=0) +
  geom_errorbar(mapping=aes(x=xaxis, ymin=yaxis1-0.4, ymax=yaxis1+0.4),
               color="black", width = 0.25)

введите здесь описание изображения

Это то, что вы ищете?

person dc37    schedule 21.03.2020