3

是否可以使用定位器添加箭头?我试了一下,但没有运气......

plot(1:3)
arrows(x0=locator(1), x1=locator(1),
       y0=locator(1), y1=locator(1), code=1)#single headed arrow
4

2 回答 2

6

如果您查看locator(1)返回的内容,您会明白为什么这甚至无法正常工作:

> locator(1)
$x
[1] 1.365533

$y
[1] 2.25695

因此,您将长度为 2 的列表传递给每个参数。我可能会(虽然这不会是可重现的,所以在任何分析中我都不会真的生气地这样做)通过以下方式解决这个问题:

> locs <- locator(2)
> locs
$x
[1] 1.265845 1.587567

$y
[1] 2.604642 2.267028

使用保存在中的数据添加箭头locs

with(locs, arrows(x0=x[1], x1=x[2], y0=y[1], y1= y[2], code=1))
于 2012-09-19T21:14:44.767 回答
0

在这种情况下,我个人不喜欢使用定位器。一个非常快速起草的替代方案可能如下。需要注意的是,您可以随时更改设计“arrow_pos”的方式

arrow_pos = as.data.frame(matrix(1:2,2,2))
colnames(arrow_pos)<- c("x","y")
with(arrow_pos, arrows(x0=x[1],x1=x[2], y0=y[1],y1=y[2]))

或者,您也可以执行以下操作:

x_s<-c(1,2)
y_s<-c(1,2)
arrow_pos <- as.data.frame(rbind(x_s,y_s))

在这种情况下,您还可以使用直接从您正在绘制的向量获取数据的命令填充 x_s。

V1 = 1:3

作为示例,您然后将这些存储在您的“arrow_pos”中

length(V1); ceiling(mean(V1)); median(V1)
于 2012-09-20T10:12:04.617 回答