是否有快速简便的功能来撤消段或将其从绘图中删除?
p1 <- locator(1)
p2 <- locator(1)
segments(p1$x, p1$y, p2$x, p2$y, col = 'pink')
//Undo segments
我的意思是,是否可以存储您将要擦除的线段(每个像素的颜色/强度),然后在其中添加粉红色线段以有效撤消粉红色线段绘制. 如何做到这一点?
你可以用网格图形来做到这一点,
library(grid)
ll = replicate(2, grid.locator())
g = grid.segments(ll[,1]$x, ll[,1]$y, ll[,2]$x, ll[,2]$y,
name="mysegment", gp=gpar(col="pink", lwd=5))
grid.remove("mysegment")
不。除非你使用图形,否则你能做的最好的事情grid
就是用背景颜色覆盖有问题的部分(即segments(p1$x, p1$y, p2$x, p2$y, col = 'white')
,如果背景是白色的——这种技巧有时会失败)。
为了解决您上面关于以某种方式存储写入的像素以便以后删除它们的更新问题;在 R 的基本图形系统(与 @baptiste 讨论的 Paul Murrell 的grid
图形系统或使用rgl
动态 3D 图形包的图形不同)中,隐喻是您正在绘制的画布。R 不“记得”它画了什么;这些像素或片段被添加到输出设备并被遗忘。