【问题标题】:Deleting Line from Plot从绘图中删除线
【发布时间】:2012-08-07 07:53:11
【问题描述】:

只是一个简单的问题:我正在尝试在 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") 

这会产生一个漂亮的图表。但是,假设我想删除我之前创建的行(或者可能还有点?!)我应该怎么做呢?

【问题讨论】:

  • R 使用笔+纸模型进行绘图,因此一旦在设备上绘制了一些东西,它就会一直存在,直到您使用空白设备重新开始。
  • 有一些技巧,比如用背景颜色 (lines(x,y,col="white",lty="dotted")) 重新绘制同一条线——但它们很脆弱(例如,依赖于在白色背景上绘制等)
  • 感谢 Ben 和 joran。如果我在同一个图上有两个或多个图,则这种笔+纸模型会成为一个问题,因为重新绘制另一个图的白色碎片。真的没有办法了吗?
  • 一切都与代码组织有关。在独立的脚本或函数中构建您的绘图生成。这样您就可以进行更改,轻松地重新运行整个内容并从头开始重新绘制。
  • @ClattyCake 为什么要删除一行?

标签: r graph plot line


【解决方案1】:

在 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】:

    要删除一行,您只需删除该行命令并重新运行其余命令。

    您应该将您的情节视为您的代码。您保存代码是因为它比实际的情节更能提供关于情节的信息。除非你有很多东西要画在你的情节中,否则重新绘制所有东西是相对微不足道的。您可能需要重新绘制数十次,直到它完全符合您的要求。仅供参考,在内心深处,这正是一些基于 GUI 的图形程序在您调整事物时所做的事情(取决于您调整的内容)。所以,从这个意义上说,R 并不是特别特别。

    或者,将绘图另存为矢量图形(即 PDF),在兼容的矢量图形绘图程序(即 Illustrator)中打开,然后调整您的心意。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-09
      • 1970-01-01
      • 2012-07-23
      • 1970-01-01
      相关资源
      最近更新 更多