2012-07-19 89 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)中打开,然后调整至您的心脏内容。