在R中删除图例

4

我该如何在R中移除图表中的图例?我尝试了legend<-FALSE,但没有起作用。 此外,有没有更好的方法来设置图例的位置?例如,我能否使用鼠标选择位置?我不是在谈论ggplot或任何花哨的插件,只是普通的R绘图。


我使用了legend()函数来创建图例。 - Concerned_Citizen
5
一旦创建了一个图形,你可以添加内容,但无法删除。你需要重新绘制没有图例的图形。 - user399470
1
为什么会有这么多的踩? - Concerned_Citizen
1
我猜测这是因为这个问题中有多个问题(位置问题不应该包括在内,每次运行脚本都必须手动设置图例位置会很糟糕),而且你没有给出示例。 - Jonathan
2个回答

7
按顺序:
  • 这与昨天人们试图向您解释的内容有关:将 脚本 视为创建R会话的主要方式。 在ESS中,您可以获得脚本作为副产品;在RStudio中,您也可以首先使用命令,然后将其传递给会话。最后,您不能删除已添加到图形中的图例,但您可以使用保存的命令重新创建图形。

  • 是的,自从Duncan Murdoch添加了对“左上角”等的支持,您可以使用逻辑命令:

plot(1:10)                    # simple plot
legend("bottomright", "foo")  # 'foo' in bottom-right corner
  • 如果您使用locator()的输出作为legend()命令的输入,则是可以的。

一点也不无关!重新运行创建图形的命令,但这次不要调用legend()函数--哇啦。为此,您需要轻松访问创建对象、图形等命令——因此建议使用基于文件的工作流程,例如ESS文档中详细介绍的方式。这种方法在过去十年中一直为我服务。至于locator()函数,请先查看其示例。它有些古怪。 - Dirk Eddelbuettel
@GTyler,一旦你绘制了某些东西,它就会一直存在。更改已绘制图形中的任何内容的唯一方法是擦除整个图形并再次绘制,首先修改您想要的内容。这就是@Dirk在第一个要点中所说的。使用legend(locator(), "foo")在图例中使用定位器。希望对你有帮助。 - Luciano Selzer

0
你需要指定生成图例的绘图函数。(大多数绘图函数默认不绘制图例。)
有一个locator函数。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接