是否可以使用定位器添加箭头?我试了一下,但没有运气......
plot(1:3)
arrows(x0=locator(1), x1=locator(1),
y0=locator(1), y1=locator(1), code=1)#single headed arrow
如果您查看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))
在这种情况下,我个人不喜欢使用定位器。一个非常快速起草的替代方案可能如下。需要注意的是,您可以随时更改设计“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)