问题标签 [patchwork]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 拼凑中色标的水平对齐
我正在使用该包垂直patchwork
组合多个ggplot2
图。无论比例名称的长度如何,我都希望每个地块的比例直接在另一个上方。目前,这些天平并没有相互对齐。
我愿意使用ggpubr
,或者facet_grid()
他们是否可以使用,但我已经看到 facets不允许多个 scales,我还没有找到任何使用的解决方案ggpubr
理想输出:
r - 从 ggplots 列表中自动组装拼凑图
我正在尝试锻炼一个功能(没有任何成功),它将自动组装一个 ggplots 图列表patchwork
。
该函数将接受以下输入:
- no_of_rows
- no_of_cols
- master_list_with_plots
使用您的输入,该功能应自动构建绘图。我在下面提供了一个示例:
有任何想法吗?
r - 如何让公共中心 y 轴标签延伸到底部图形?
使用 ggplot,我制作了三个图表,我想使用包 patchworks 以打包的方式(彼此叠加)组合它们。
这很容易通过键入:
graph1/graph2/graph3
但是,我遇到的问题是,对于这三个图,我有一个共同的 y 轴,我自然希望将其放置在中央图上(因此,当我制作图 2 时,我只为图 2 创建了 y 轴标签ggplot 中的图形)。这个 y 轴标签文本相当长。因此,我想将它扩展到“超出其他图表的边界”。但是,我的结果如下图所示。
可以看出,y轴标签允许延伸到顶图但不允许延伸到底图(这里将多余的标签文本简单地去掉,就好像底图放在了文本的顶部一样)。
如何让我的 y 轴标签也延伸到底部图表中?事后简单地更改图片的尺寸以使中心图足够大以容纳标签不是一种选择(然后该图将太大而无法放在一页上)。
r - 通过迭代 for 循环创建单个图,将图拼凑在一起
我想编写一个生成图网格的 for 循环(例如在使用拼凑时)。我想为 color_list 数据框中的每个项目运行循环并将其用作美学。
我设法编写了循环,但不确定如何保留所有情节并将它们放在最后。
r - 使用 {patchwork} 组装的 ggplots 之间不需要的分隔标记/线条
我正在尝试将情节与“grey20”结合起来作为情节背景。但是,在组合图时,似乎发生了不希望的行为,因为顶部图和底部图之间出现了较轻的分隔线。
有人知道这是否来自我的错误,或者是否有解决方法来避免这种不愉快的行为?
非常感谢您的帮助 !
最好的,
编辑 - 虽然问题似乎来自我的特定图形设备设置,因为在直接使用 R(而不是 RStudio)时没有发生此问题,但问题已通过以下添加的元素代码段得到纠正:
r - 添加到拼凑而成的 grobs 的控制填充
这是这个问题的后续问题。OP 要求一种方法以特定距离安排地块的一部分。我认为 teunbrand 给出了一个很好的答案。
我自己的建议(用cowplot提取图例,并以所需比例将它们缝合到图上)并不完全令人满意,因为它在给定示例中只是“偶然”起作用-图例标签足够长以将图例集中到第三个绘图的视口。
较短的标签揭示了问题 - 添加 grob 时,拼凑此 grob 居中,基本上向所有侧面均等填充。
我的问题是,你知道控制这种填充行为的方法吗?
Cowplot(或任何其他 ggplot 组合包)也非常受欢迎。
不太理想的结果 - 图例 grob(灰色背景)应与左侧绘图边框(黑线)对齐
由reprex 包于 2021-04-09 创建(v1.0.0)