geom_spoke()
中是否有办法让箭头指向给定数据的方向?如果我有一个位置(x,y)和一个角度的数据,我觉得使用geom_spoke
是理想的,但我希望能够选择箭头指向的方向(远离坐标)或指向他们;我想要后者)。
在此示例中,我添加了geom_point()
来说明我的数据的位置;半径是随机选择的,所以我想要箭头指向现在的点(而不是点,当然):
set.seed(1)
df <- expand.grid(x = 1:10, y=1:10)
df$angle <- runif(100, 0, 2*pi)
ggplot(df, aes(x, y)) +
geom_point() +
coord_equal() +
geom_spoke(aes(angle = angle), radius = 0.7, arrow=arrow(length = unit(0.2,"cm")))
答案 0 :(得分:3)
arrow
中的geom_spoke
引用grid::arrow
,其ends
参数:
"last"
,"first"
或"both"
中的一个,指示绘制箭头的行的哪一端。
由于您未明确设置ends
参数,因此使用了默认值"last"
,即段末尾的箭头。
一个小例子:
p <- ggplot(df, aes(x = x, y = y, angle = angle)) +
geom_point()
ends
的默认值:
# omitting the ends argument, like in your attempt:
p + geom_spoke(arrow = arrow(length = unit(0.2, "cm")), radius = 0.7)
# or writing out the ends argument explicitly:
p + geom_spoke(arrow = arrow(ends = "last", length = unit(0.2, "cm")), radius = 0.7)
在细分受众群开头的箭头,设置ends = "first"
:
p + geom_spoke(arrow = arrow(ends = "first"), radius = 0.7)