如何在 geom_segment 中获得 T 型箭头?
How to get type T arrows in geom_segment?
我需要使用 geom_crossbar 在 ggplot 上手动添加误差线。
我试过 "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"))
感谢任何帮助!
在 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)
是您要找的吗?
我需要使用 geom_crossbar 在 ggplot 上手动添加误差线。
我试过 "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"))
感谢任何帮助!
在 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)
是您要找的吗?