在循环内如何将绘图存储在列表中?

2023-12-04

我正在循环内工作,我想将绘图保存在列表中,以便我可以将它们一起绘制在 .pdf 中。问题在于列表未正确填充并使用上次运行的结果重新更新。所以,最终我得到的是一个包含五个完全相同的元素的列表。

我知道这些循环可能看起来毫无用处,但我只是让它们创建一个尽可能接近真实代码的测试代码(带有可重现的错误)。所以,我需要让循环保持原样。

library (ggplot)
library (gridExtra)

plist <- list()

for (z in 1:5){
  n <- 100
  k <- seq(0, to=4500+z*2000, length=n)
  tmp <- numeric(n)
  for (i in 1:n){
    tmp[i] <- (5*(i*3)^2)}

  plist[[z]] <- ggplot() +
    geom_line(aes(x = k, y = tmp)) +
    theme_bw()

  pdf(sprintf("p%s.pdf", z),
      width = 6, height = 4, onefile = T)
  plot(plist[[z]])
  dev.off()
}

do.call(grid.arrange, c(plist, ncol = 5))

这个答案基于:将绘图对象存储在列表中

library(ggplot2)
library(gridExtra)

plist <- list()

for (z in 1:5){
  n <- 100
  k <- seq(0, to=4500+z*2000, length=n)
  tmp <- numeric(n)
  for (i in 1:n){
    tmp[i] <- (5*(i*3)^2)}

  data <- data.frame(n, k, tmp)

  plist[[z]] <- ggplot(data = data) + #data needs to be given!!
    geom_line(aes(x = k, y = tmp)) +
    theme_bw()

  pdf(sprintf("p%s.pdf", z),
      width = 6, height = 4, onefile = T)
  plot(plist[[z]])
  dev.off()
}

do.call(grid.arrange, c(plist, ncol = 5))

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在循环内如何将绘图存储在列表中? 的相关文章

随机推荐

  • Chrome 扩展程序弹出窗口关闭时是否有事件?

    我已经尝试过 window unload window beforeunload 等 我正在寻找一种在弹出窗口关闭后通知我的后台页面的方法 你可以试试这个 连接到您的后台页面chrome runtime connect or chrome
  • InnoSetup,展开环境变量(使用 {reg:...} 从注册表值获取)

    我尝试从注册表设置默认安装路径 DefaultDirName reg HKCU Software Microsoft VisualStudio 14 0 VisualStudioLocation userdocs Visual Studio
  • 如何将大写字母更改为小写字母,将空格更改为下划线

    我想将变量中的大写字符串字符更改为小写 并将空格替换为 我知道我可以对所有实例使用 if 语句 但这会花费太长时间 它将用户的输入保存到文件名中 即 user selection Barracuda Limited what I have
  • 如何将包含图像的跨度置于 div 中居中

    我有一个主 div homeGallery 其中有一个 span imgClass 用于加载图像列表之一 我需要图像在 div 中不仅垂直居中而且水平居中 到目前为止我有这段代码 homeGallery gt imgClass margin
  • 将 base64 字符串转换为 ArrayBuffer

    我需要将 Base64 编码字符串转换为 ArrayBuffer Base64 字符串是用户输入 它们将从电子邮件中复制并粘贴 因此在加载页面时它们不存在 如果可能的话 我想在 javascript 中执行此操作 而不对服务器进行 ajax
  • 如何在 Go 中向子路由器添加中间件?

    我有以下代码 apiRouter mux NewRoute PathPrefix Subrouter Bucket router bucket apiRouter PathPrefix bucket Subrouter bucket Met
  • 通过 PayPal 和信用卡接收付款

    我正在开发一个网站 我需要从 PayPal 和信用卡接收付款 问题是我对此一无所知 我的问题是我在哪里可以找到一些很好的资源来帮助我 或者如果您有一些示例代码 一切可以帮助我的东西 多谢 如果您计划集成 Paypal 您会发现 Paypal
  • 如何向单个sql命令添加超过10000个参数

    我想向单个 sql 命令添加超过 10000 个参数 怎么可能呢 据我所知 一个sql命令有2100个参数 我认为你应该回到 为什么 而不是直接跳到 如何 听起来也许您正在执行一些巨大的插入 更新 在这种情况下 更合适的解决方案是表值参数
  • Android:使多行编辑文本可滚动,在垂直滚动视图中禁用

    我正在开发一个应用程序 其中我在某个点上进行了结构 根据我的应用程序要求 我在 xml 中创建了水平滚动视图 然后在 java 中创建了垂直滚动视图 如下所示 Vertical Scroll view in Linear layout Sc
  • 如何在不使用 fetch 的情况下知道本地仓库与远程仓库不同?

    我有数十个存储库 如果发生任何差异 我的脚本应该更新它们 新提交 新标签 新分支 在我的情况下 对于数十个存储库来说 获取有点慢 我想知道是否有任何快速命令可以满足我的要求 您可以使用git ls remote管道命令无需获取即可获取遥控器
  • Android 蓝牙连接另一个蓝牙设备

    我正在做基于蓝牙的应用程序 我想连接其他设备 例如诺基亚设备和打印机 我参考了android蓝牙文档http developer android com guide topics connectivity bluetooth html 它演
  • * 和 + 正则表达式之间的区别

    谁能告诉我两者之间的区别 and 下例中的运算符 lt gt lt gt 它们每个都是量词 星号量词 表示前面的表达式可以匹配零次或多次 就像 0 而加量词 表示前面的表达式必须匹配至少一次或多次 并且它与 1 回顾一下 a gt a 0
  • 后台工作者如何

    我正在尝试在我的程序中实现后台工作人员 这样当我运行程序并开始检索我需要的数据时它就不会冻结 我不太清楚后台工作者是如何工作的 后台工作人员是在后台运行的线程 它们在不中断 阻塞主线程的情况下工作 您可以阅读更多内容here 简而言之 在
  • 将模块导入 Python Azure Function

    我正在尝试创建一个简单的 Azure 函数 它接收 HTTP 事件 获取该请求正文中的 JSON 对象 并将该对象保存为 CosmosDB 集合中的文档 然而 我似乎对导入 python 模块很着迷 init py import json
  • 如何为 play2 的表单定义 StopOnFirstFail dsl?

    在这个问题中 如果一个表单字段有多个验证器 如何让play一一验证它们 而不是全部验证 Julien 给了我一个名为stopOnFirstFail解决我的问题 def stopOnFirstFail T constraints Constr
  • 使用AWS SES从node.js上传邮件中的.jpg图像附件

    下面是来自的代码https github com andrewpuch aws ses node js examples其中有一个发送示例和带有附件的电子邮件 我修改了代码以从 aws s3 获取图像文件并将其作为附件以邮件形式发送 当我为
  • 如何在 Python 中使用 HTTPPasswordMgrWithDefaultRealm()

    我需要编写一些使用 ftp 代理的 python ftp 代码 代理不需要身份验证 但我连接的 ftp 服务器需要身份验证 我有以下代码 但收到 I O 错误 ftp 错误 501 USER 格式 proxy user auth metho
  • 查找特定的正整数[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我想找到整数n 以便当1 z 1 x 1 n时有1000种组合 这是我的代码 int counter 0 double n 1 while true for double i 1
  • 销售订单视图上的自定义选项卡

    如何在不修改核心代码的情况下向 Magento 中的销售订单视图添加新选项卡 我在网上看到了一些教程 但他们希望您在 app design adminhtml default default template 中添加 修改文件 这是核心目录
  • 在循环内如何将绘图存储在列表中?

    我正在循环内工作 我想将绘图保存在列表中 以便我可以将它们一起绘制在 pdf 中 问题在于列表未正确填充并使用上次运行的结果重新更新 所以 最终我得到的是一个包含五个完全相同的元素的列表 我知道这些循环可能看起来毫无用处 但我只是让它们创建