【问题标题】:Remove text box inserted into plot using locator in r使用 r 中的定位器删除插入到绘图中的文本框
【发布时间】:2015-08-24 16:33:41
【问题描述】:

如何删除使用定位器插入的最后一项(如文本框)?即

plot(1:3)
text(locator(1),labels="oops wrong spot...remove me",cex=1,font=1)

【问题讨论】:

  • 我不认为你可以。使用 R 绘制事物的一般模型是,一旦某个事物出现在设备上,它就会一直存在,直到您擦除整个设备或覆盖它。
  • 作为一个黑客,你可以用白色文本(或背景颜色,如果它不透明)覆盖它
  • 如果您的工作流程强烈依赖于手动注释图表,您最好切换工具,使用图像编辑器对它们进行后期处理。像 Inkscape 或 Photoshop 这样的东西将有更多的撤消错误的余地。
  • 是的,但我发现通过辅助程序运行图像质量会降低...
  • 如果您使用正确的(通常是矢量)图形格式等,通过辅助程序时图像质量不应该降低,但它可能有点棘手/平台相关。跨度>

标签: r plot


【解决方案1】:

你可以很容易地实现一些让你这样做的东西:

locator <- function(...) {
    assign('.last.plot', recordPlot(), envir=.GlobalEnv)
    graphics::locator(...)
}

undo <- function()
   if (exists('.last.plot')) replayPlot(.last.plot)

plot(1:3)
text(locator(1),labels="oops wrong spot...remove me",cex=1,font=1)
undo()

【讨论】:

  • 不错!这很有帮助,因为现在我不必用我的情节玩“没有错误的余地”游戏了。谢谢!!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-17
  • 1970-01-01
  • 2021-12-23
  • 2017-01-25
  • 2015-10-05
  • 2020-09-07
相关资源
最近更新 更多