如何在R面板图中从一个绘图到另一个绘图中绘制线条或箭头?

时间:2016-05-02 03:29:23

标签: r plot

我正在跟踪图片中的对象。我想在情节上显示我的结果。所以我使用image2D()函数绘制两个连续的图像并用数字标记对象然后显示它们如何从image1映射到image2 Cons 0 =物体死亡。

现在,我希望在图像1中显示从第n个对象(例如26)到图像2中的第m个(即24)的箭头,以进行视觉上的直观呈现。是否可以从plot1 p1(x1,y1)中的给定坐标到plot2 p2(x2,y2)中的坐标绘制箭头?

enter image description here

编辑:添加显示虚拟图像图的示例脚本。

16 => 0, 17 => 16, 18 => 0, 19 => 17,
20 => 18, 21 => 20, 22 => 19, 23 => 22, 24 => 23,
25 => 25, 26 => 24

现在,我想绘制从image1中的对象到image2中的对象的两个箭头以显示关联。

1 个答案:

答案 0 :(得分:1)

您可以使用网格图形的有限设施在不同视口之间绘制线条,

library(grid)
library(gridGraphics)

par(mfrow=c(1,2), xaxs="i", yaxs="i")
plot(1:10, 1:10, xlim=c(0,10), ylim=c(0,10))
plot(1:10, 1:10, xlim=c(0,10), ylim=c(0,10))

grid.echo()
grid.ls(viewports = T, grobs = F, flatten = T, recursive = F)
seekViewport("graphics-plot-1")
grid.rect(gp=gpar(col="red", fill=NA))
grid.move.to(unit(8/10, "npc"), unit(8/10, "npc"))
upViewport()
seekViewport("graphics-plot-2")
grid.rect(gp=gpar(col="red", fill=NA))
grid.line.to(unit(4/10, "npc"), unit(4/10, "npc"), gp=gpar(lty=2), arrow = arrow())

enter image description here