如何获得“不平衡”的 ggplots 网格?

2023-11-27

With grid.arrange我可以安排多个ggplot通过使用类似以下内容的网格中的图形来实现多面板图形:

library(ggplot2)
library(grid)
library(gridExtra)

生成一些 ggplot2 图,然后

plot5 <- grid.arrange(plot4, plot1, heights=c(3/4, 1/4), ncol=1, nrow=2)

如何获得“不平衡”的 2 列布局,整个第一列中有一个图,第二列中有三个图? 我尝试使用“网格网格”方法grid.arrange绘制一个网格(例如plot5,上面)针对另一个情节,但获得:

arrayGrob(..., as.table = as.table, Clip = Clip, main = main, 中的错误: 输入必须是grob!

Update:

Thanks for the advice. I will look into viewports and grid. In the meantime, thanks to @DWin, the layOut function in the 'wq' package worked very well for the compilation figure in my Sweave document: enter image description here

更新2:

The arrangeGrob命令(如@baptiste建议的)也运行良好,并且看起来非常直观 - 至少很容易改变两列的宽度。它还具有不需要“wq”包的好处。

例如这是我的 Sweave 文件中的代码:

<<label=fig5plot, echo=F, results=hide>>=
plot5<-grid.arrange(plot4, arrangeGrob(plot1, plot2, plot3, ncol=1), 
                    ncol=2, widths=c(1,1.2))
@
\begin{figure}[]
    \begin{center}
<<label=fig5,fig=TRUE,echo=T, width=10,height=12>>=
<<fig5plot>>
@
\end{center}
\caption{Combined plots using the `arrangeGrob' command.}
\label{fig:five}
\end{figure}

which produces the following output: enter image description here

顺便说一句,有人告诉我为什么会出现“>NA”吗?


grid.arrange直接在设备上绘制;如果你想将它与你需要的其他网格对象结合起来arrangeGrob, as in

 p = rectGrob()
 grid.arrange(p, arrangeGrob(p,p,p, heights=c(3/4, 1/4, 1/4), ncol=1),
              ncol=2)

Edit(07/2015):使用 v>2.0.0 您可以使用layout_matrix争论,

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

如何获得“不平衡”的 ggplots 网格? 的相关文章

随机推荐

  • Firebase 无提示通知不会启动关闭的 iOS 应用程序

    FCM 无提示通知可以启动关闭的 iOS 应用程序吗 Request Type POST Request URL https fcm googleapis com fcm send Request Headers Authorization
  • 如何使用 GCC 4.8 配置 libstdc++?

    不久前 我决定升级到 GCC 4 8 以便尽早开始使用一些 c 11 功能 不过 我有点偏离主题 直到几天前的一个项目才真正使用任何新功能 新编译器似乎工作正常 但这可能只是因为我没有使用任何新功能 在这个新项目中 当我使用 std c 1
  • 为什么在 MNIST 分类器代码中使用 X[0] 会出现错误?

    我正在学习使用 MNIST 数据集进行分类 我遇到了一个错误 我无法弄清楚 我已经做了很多谷歌搜索 但我无能为力 也许你是专家并且可以帮助我 这是代码 gt gt gt from sklearn datasets import fetch
  • 如何去除 IE9 中链接周围的蓝色边框?

    我正在这个网站上工作 http amberdreams com 这是一个非常简单的网站 我一直在使用 netrenderer com 来确保所有页面都可以在 Internet Explorer 中运行 尽管我尽了最大努力 但在使用 Inte
  • Dijkstra 算法的复杂性

    我从许多来源了解到 如果使用简单的方法来获取最小元素 线性搜索 Dijkstra 的最短路径也将以 O V 2 复杂度运行 但是 如果使用优先级队列 则可以优化为 O VLogV 因为该数据结构将在 O 1 时间内返回 min 元素 但在删
  • 如何使用 Dropbox 在多个平台之间保持 Eclipse 安装同步?

    在每台机器上设置 Eclipse 真是一件令人头疼的事情 我希望保持多台机器之间的 Eclipse 文件和配置同步 我想让 Eclipse 在 OS X Linux 和 Windows 上保持同步 因此我开始获取 OS X 版本的 ecli
  • 单身人士的好例子?

    我有一个应用程序 其中有几个用于存储应用程序范围设置 资源位置 用户设置等 的类 现在这些类充满了静态字段和方法 但我从未实例化它们 有人建议我让他们成为单身人士 赞成 反对的理由是什么 我认为 Singleton 模式是应用最不恰当的设计
  • WGS84 到 Google 地图位置和返回的 Java 代码

    搜索一些示例代码 用于将 WGS84 坐标系中的点转换为 Google 地图中的地图位置 像素位置 还支持缩放级别 如果代码有很好的注释 那么它也可以采用其他语言 您还可以向我指出一个开源 Java 项目 找到的一些资源 开放层执行 JOS
  • Terracotta 是分布式缓存吗?

    Is 红陶分布式缓存 尽管您没有具体说明您正在谈论哪种产品 但我假设您指的是开源平台本身 简短的答案是否定的 但它可以用来编写分布式缓存 并且它已经出现在他们自己的产品之一 Ehcache 中 您可以看到核心引擎的概述here 看来他们现在
  • 如何在数据库模式中支持多语言方法?

    我希望我的数据库支持其表中所有文本值的多种语言 那么最好的方法是什么 Edit1 E G 我有这个 人 表 ID int FirstName nvarchar 20 LastName nvarchar 20 Notes nvarchar m
  • Spring Batch 动态块大小的自定义完成策略

    Context 我们有一项批处理作业 可以将本地化的国家 地区名称 即将国家 地区名称翻译为不同语言 从外部复制到我们的数据库 这个想法是在一个块中处理单个国家 地区的所有本地化国家 地区名称 即第一个块 安道尔的所有翻译 下一个块 阿联酋
  • Typescript 仅从重载中选择特定方法(传递给Parameters

    背景 所以我在从重载的函数获取特定参数时遇到问题 例如 someLib d ts type Component
  • 查找字符串中的多个子字符串而不对其进行多次迭代

    我需要查找列表中的项目是否出现在字符串中 然后将这些项目添加到不同的列表中 这段代码的工作原理 data line akhgvfalfhda dhgfa lidhfalihflaih Thing1 aoufgyafkugafkjhafkjh
  • 使用junit 4创建POM

    我使用 Maven 3 0 4 并希望默认使用 junit 4 我的项目是使用以下命令创建的 gt mvn 原型 创建 DgroupId my group id DartifactId myArtifactId DpackageName m
  • Python 将 html 转换为文本并模仿格式

    我正在学习 BeautifulSoup 并发现了许多 html2text 解决方案 但我正在寻找的解决方案应该模仿格式 ul li One li li Two li ul 会成为 One Two and Some text blockquo
  • 使用流下载大文件时的 Axios 事件

    我正在使用 axios服务器端 我要下载big文件 从技术上讲 这应该与字节范围一起使用 axios 是否处理字节范围请求 以便仅在所有响应准备就绪时调用回调函数 If 1 is not true 我应该处理吗数据块我自己 在下面的代码中
  • 使用 imap 访问电子邮件

    我在 Ubuntu 14 02 上使用 Apache 并在其上运行 php 我已连接到远程 mssql 服务器 因此不需要 mysql 我想知道如何连接到 gmail 注册的电子邮件 ID 以便阅读传入的电子邮件 我已尝试以下操作 但从本地
  • 如何使用正则表达式模式找到后面没有换行符的回车符?

    我需要找到一个回车符 r 它后面没有换行符 n 我该如何使用正则表达式模式来做到这一点 那么以下带有负向前瞻的正则表达式怎么样 r n
  • 实体名称必须紧跟在 jasper 报告中的实体引用错误中的“&”之后

    我有一个包含 4 个子报告的主报告 当我在iReport 版本4 1 3 中生成报告时 报告生成成功 但是 当报告部署在 JBoss 服务器中时 会出现以下错误 Error Parsing Styled Text org xml sax S
  • 如何获得“不平衡”的 ggplots 网格?

    With grid arrange我可以安排多个ggplot通过使用类似以下内容的网格中的图形来实现多面板图形 library ggplot2 library grid library gridExtra 生成一些 ggplot2 图 然后