R:使用 marrangeGrob 在空白首页制作 pdf 结果

2024-04-10

我正在制作一些每页上有多个图形的 pdf 文件,并且当我使用 gridextra 包中的 marrangeGrob 来制作这些图形时,第一页始终是空白的。如何使绘图从第一页开始?这是一些示例代码:

library(gridextra)
library(ggplot2)
data(iris)

Plotlist <- list()

Plotlist[[1]] <- ggplot(data = subset(iris, Species == "setosa"),
                         aes(x = Sepal.Width, y = Sepal.Length)) +
      geom_point()

Plotlist[[2]] <- ggplot(data = subset(iris, Species == "versicolor"),
                        aes(x = Sepal.Width, y = Sepal.Length)) +
      geom_point()

Plotlist[[3]] <- ggplot(data = subset(iris, Species == "virginica"),
                        aes(x = Sepal.Width, y = Sepal.Length)) +
      geom_point()

pdf("iris.pdf", width = 8.5, height = 11)
marrangeGrob(Plotlist, nrow = 2, ncol = 1)
dev.off()

pdf 的第二页甚至在顶部写着“第 1 页,共 2 页”,因此某处存在一些脱节。


我的猜测是 ggplot2 最近发生了一些变化,调用网格函数来评估需要开放设备的网格单元。

您可以尝试这个解决方法,

glist <- lapply(Plotlist, ggplotGrob)
ggsave("iris.pdf", marrangeGrob(glist, nrow = 2, ncol = 1))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R:使用 marrangeGrob 在空白首页制作 pdf 结果 的相关文章

随机推荐

  • 设置Loader项目属性

    In the context https stackoverflow com questions 33513546 delegate folderlistmodel in tableview文件管理器 我有一个TableView组件保存在文
  • JavaScript 组织 |带模块的模块模式

    我将代码组织成 20 60 行模块 通常采用模块模式 我想要一个结构良好的面向对象的 JavaScript 库 这是最好的方法吗 该代码已经过测试并且可以工作 我喜欢它 因为程序员可以从库中提取模块并根据需要使用它们 它们是独立的 这里是
  • ASP.Net MVC - 处理错误的 URL 参数

    处理访问者构建自己的 URL 并将我们期望的 ID 替换为他们喜欢的任何内容的最佳方法是什么 例如 ASP Net MVC 处理错误的 URL 参数 https stackoverflow com questions 236349 但用户可
  • 如何将已经编译好的C库添加到Android中?

    我已经编译了库 针对 linux a 和 windows dll 我需要将其中一个 我想对于 Android 我将不得不使用 a 库导入到我的 android 项目中 所以我已经阅读了一些关于 NDK 的教程 但这里有一个问题 我是否需要源
  • Emgu CV 和官方 Microsoft Kinect SDK?

    Emgu CV http www emgu com wiki index php Main Page目前允许将 Kinect 与 OpenNI 驱动程序一起使用 http www emgu com wiki index php Downlo
  • 整个应用程序的异常处理

    我对 iPhone 中的异常处理有一些疑问 他们是这样的 假设我有一连串被依次调用的方法 即方法 A 调用方法 B 方法 B 又调用方法 C 方法 C 调用方法 D 这是放置我的 try catch 块的最佳位置 是方法 A B C D 还
  • 用拼凑的方式组合和合并 ggplot2 中的图例

    我想结合两个或多个情节来融合他们的传奇 例如 我可以创建一些数据和两个场景 如下所示 packages library ggplot2 library patchwork first plot set seed 07042020 x lt
  • 我如何知道 Perl 正则表达式的哪一部分与字符串匹配?

    我想搜索文件的行以查看其中是否有任何行与一组正则表达式中的一个匹配 像这样的东西 my regs qr a qr b qr c foreach my line
  • jQuery 对话框回发但 UpdatePanel 未更新

    我想从代码隐藏中显示 jQuery UI 对话框 并且需要在回发后刷新它 该对话框是用于过滤和查找数据的控件 因此 用户从 DropDownLists 中进行选择并在 TextBoxes 中输入文本 单击 Apply Button 发生异步
  • 最佳数据库变更控制方法

    作为数据库架构师 开发人员和顾问 有很多问题可以回答 其中之一 虽然我最近被问到 但仍然无法很好地回答 那就是 保持数据库变更记录 组织并能够在单开发人员或多开发人员环境中有效推出的最佳方法或技术之一是什么 这可能涉及存储过程和其他对象脚本
  • Entity Framework 4 Code-First 多对多插入

    我在数据库层使用代码优先模式 我有两个 POCO 课程 public class Order Key public int OrderId get set public virtual ICollection
  • “float”对象没有属性“__getitem__”Python错误

    当我运行代码时 import numpy as np from scipy integrate import odeint import matplotlib pyplot as plt Initial conditions def f f
  • ChrW(e.KeyCode) 在 C# 中的等价物是什么?

    在VB NET 2008中 我使用了以下语句 MyKeyChr ChrW e KeyCode 现在我想将上面的语句转换成C 有任何想法吗 快速而肮脏的相当于ChrW在 C 中只是将值转换为char char MyKeyChr char e
  • WTForms:在编写自定义验证时传递额外参数

    写作时wtforms 的自定义验证 http wtforms simplecodes com docs 0 6 validators html 是否可以传递额外的参数 如请求 For e g class MyForm Form name T
  • 从 2 元组列表生成最大数量的 3 元组

    我有一个 2 元组列表 并希望从该列表中生成尽可能多的 3 元组 例子 usr bin python import itertools a list itertools combinations 1 2 3 4 5 6 7 8 9 2 i
  • 如何使用 RSpec 测试获取目录中的文件列表?

    我对 RSpec 的世界还很陌生 我正在编写一个 RubyGem 它处理指定目录和任何子目录中的文件列表 具体来说 它将使用Find find并将文件附加到数组以供以后输出 我想编写一个规范来测试这种行为 但真的不知道从哪里开始伪造文件目录
  • 处理大量输入参数、大量输出

    我需要进行一个复杂的计算 就我而言 创建一个计算器类 使用策略模式抽象 似乎是最自然的 为了执行计算 该类需要接受大约 20 个输入 其中一些是可选的 其中一些可能在将来发生变化等 计算 调用方法时 需要输出大约20个不同的变量 有多种方法
  • javascript apply 和 call 方法并链接在一起

    在本文中js日志函数 https gist github com bgrins 5108712 signup true 有一个说法 Function prototype apply call console log 控制台 参数 我对这个说
  • 创建垂直分隔符 Jetpack Compose

    如何使用 Jetpack Compose 创建垂直分隔线 我尝试使用 Spacer 和 Box 来做到这一点 但它根本不显示 这是我尝试过的 Box modifier Modifier fillMaxHeight width 2 dp ba
  • R:使用 marrangeGrob 在空白首页制作 pdf 结果

    我正在制作一些每页上有多个图形的 pdf 文件 并且当我使用 gridextra 包中的 marrangeGrob 来制作这些图形时 第一页始终是空白的 如何使绘图从第一页开始 这是一些示例代码 library gridextra libr