2011-11-15 32 views
2

是否有一個快速簡單的功能來撤消細分或將其從劇情中刪除?R圖撤銷線段?

p1 <- locator(1) 
    p2 <- locator(1) 
    segments(p1$x, p1$y, p2$x, p2$y, col = 'pink') 
    //Undo segments 

我想說的是,是否有可能保存路徑(每個像素的色彩/亮度)您要刪除,再後來就補充一點,線段的位置粉紅色的是實際上取消了粉紅色部分的繪製。如何做到這一點?

回答

6

你可以用網格圖形做到這一點,

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") 
3

號關於最好的,你可以做,除非你使用grid圖形是在背景顏色違規段寫(即segments(p1$x, p1$y, p2$x, p2$y, col = 'white')如果背景是白色 - 一個黑客工具,有時會失敗)。

爲了解決您上面更新的問題,關於以某種方式存儲寫入的像素以後刪除它們;在R的基本圖形系統中(與Paul Murrell的grid圖形系統不同,正如@baptiste所討論的,或者使用動態3D圖形的rgl包裝的圖形),這個比喻就是您正在繪製的畫布。 R不會「記住」它畫的是什麼;那些像素或片段被添加到輸出設備並被遺忘。

+0

如果我只是存儲(X,Y)的像素之前我提請段對他們,然後繪製的像素背在該行的部分是,覆蓋新的細分市場? – CyberShot

+0

嗯。恐怕我不明白這個問題。如果您編輯問題以添加更多關於您想要做什麼的背景,您可能會從我或其他人那裏獲得不同/更有用的答案。 –