有没有办法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")))
Run Code Online (Sandbox Code Playgroud)
in指的是,它有参数arrow:geom_spokegrid::arrowends
"last"、"first"或之一"both",指示在线条的哪一端绘制箭头。
因为您没有显式设置ends参数,所以使用了默认值"last",即段末尾的箭头。
一个小例子:
p <- ggplot(df, aes(x = x, y = y, angle = angle)) +
geom_point()
Run Code Online (Sandbox Code Playgroud)
默认值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)
Run Code Online (Sandbox Code Playgroud)
线段开头的箭头,设置ends = "first":
p + geom_spoke(arrow = arrow(ends = "first"), radius = 0.7)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2360 次 |
| 最近记录: |