2012-07-19 90 views
5

只是一個簡單的問題:我試圖在R中繪製一個圖,我已經介紹瞭如何做到這一點,但如何刪除我剛創建的線?例如:從陰謀刪除線

x <- c(1, 2, 4, 5, 6.7, 7, 8, 10) 
y <- c(40, 30, 10, 20, 53, 20, 10, 5) 

plot(x,y,main="X vs Y", xlab="X", ylab="Y") 

lines(x,y,col="black",lty="dotted") 

這產生了一個很好的圖。但是,如果我想刪除之前創建的行(或者也可能是要點?!),我應該怎麼做呢?

+7

R使用筆+紙模型進行圖形繪製,所以一旦設備上出現了某種東西,它就會出現,直到您用空白設備重新開始。 – joran 2012-07-19 21:10:48

+1

還有像重新繪製背景顏色一樣的線條('lines(x,y,col =「white」,lty =「dotted」)') - 但它們很脆弱(例如取決於繪製白色背景等) – 2012-07-19 21:13:34

+0

感謝Ben和joran。如果我在同一個圖上有兩個或更多個圖,那麼這個筆+紙模型會成爲一個突變,就像用另一個圖的白色芯片重新繪製一樣。真的沒有辦法嗎? – 2012-07-19 21:24:12

回答

4

訣竅在R基本消除是重繪一切,除了要在一個新的情節刪除

所以,如果你:

plot(x,y,main="X vs Y", xlab="X", ylab="Y") 
lines(x,y,col="black",lty="dotted") 

然後決定你不想該行,然後你:

plot(x,y,main="X vs Y", xlab="X", ylab="Y") 

然後,如果你想刪除寄託都那麼你

plot.new() 
2

爲了刪除一行,您只需刪除行命令並重新運行其餘命令。

你應該把你的情節看作你的代碼。你保存代碼是因爲它比關於實際情節的情節更具信息性。除非你有很多東西可以繪製在你的情節中,否則重新繪製一切都是相當微不足道的。您可能需要重繪幾十次,直到它正是您想要的。僅供參考,內心深處,這正是一些基於圖形用戶界面的圖形程序在調整內容時所做的事情(取決於你調整的內容)。所以,在這個意義上,R並不是特別特殊。

或者,將繪圖保存爲矢量圖形(即PDF),在兼容的矢量圖形繪製程序(即Illustrator)中打開,然後調整至您的心臟內容。