【问题标题】:Is there a way to call all plots in the current environment in R?有没有办法在 R 中调用当前环境中的所有图?
【发布时间】:2020-08-12 11:07:25
【问题描述】:

我有很多名为“plt_xxxx”的图,我想将它们全部绘制在一个循环中。

我尝试了这段代码,但它不起作用。当我运行代码时没有任何反应,没有错误。

pltEnv <- ls()[grepl("plt_", ls())]
for(x in pltEnv){
  get(x)
}

当我运行这段代码时,它可以工作:

get(pltEnv[1])
get(pltEnv[2])
# ...

【问题讨论】:

  • 你能再给我们一点继续吗?例如,当你尝试这个时会发生什么?一个错误?没有?你得到了一些情节,但不是你所期望的?此外,如果您 dput(ls()) 并将其粘贴到您的问题中,我们可以尝试重现您的问题。此外,您的变量名称在第 1 行和第 2 行中是不同的:第 1 行是 pltEnv,第 2 行是 plt_in_env
  • 如果您想使用 RMarkdown 绘制列表,this 可能会有所帮助。

标签: r


【解决方案1】:

你可以使用:

plt_1 <- plotly::plot_ly(x=1, y = 1)
plot_names <- ls(pattern = "plt_.*")
eval(parse(text = plot_names[1]))

我会将我的绘图保存在一个命名列表中,以便以后访问它们。

【讨论】:

    【解决方案2】:

    当我运行 mget(pltEnv) 时它起作用了

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-27
      • 1970-01-01
      • 1970-01-01
      • 2022-08-18
      • 2022-12-24
      • 2015-08-26
      • 2014-11-21
      相关资源
      最近更新 更多