r - 排列 ggplot 图列表并调整间距/边距
问题描述
我有一个创建 ggplot 图列表的函数。我目前正在使用拼凑而成的方式将绘图排列在一起,以便我可以编织到 Word,但是我很难处理它呈现时的外观。当前的输出如下所示:
我想让它看起来像这样:
目前,我的代码如下:
patchwork_plots <- Reduce(`+`, plots)
patchwork_plots +
plot_layout(ncol=2)
我尝试了一些不同的软件包和不同的调整方式,但似乎没有任何效果。任何建议都会很棒。
解决方案
一个简单的解决方案是改变你的纵横比和width=
情节height=
。绘图中的图形不会像绘图中的文本那样缩放,而是取决于图形设备的分辨率和大小/纵横比。这是一个示例,它显示了 3 个外观非常不同的图,这些图可以通过调整输出的纵横比产生。
library(ggplot2)
# intentionally crowded plot
gplot(mtcars, aes(mpg, disp)) + geom_point() +
facet_wrap(factor(cyl)~factor(carb), scales='free') +
labs(x='mpg is here and this is long', y='disp is here and this is long too!')
宽度 = 4,高度 = 3
ggsave('plot4_3.png', width=4, height=3)
宽度 = 8,高度 = 5
ggsave('plot8_5.png', width=8, height=5)
宽度 = 12,高度 = 9
ggsave('plot12_9.png', width=12, height=9)
推荐阅读
- c# - 如何在 .NET Core MVC 中的控制器之外进行缓存和依赖注入
- airflow - 将 UI 中的 Airflow 变量设置为 today.date 或 {{ds}}
- hugo - Hugo 找不到主题目录
- zerobrane - 用于 NodeMCU 的 ZeroBrane Studio
- c++ - 在 MAKEWORD / MAKEWPARAM 中使用布尔值而不是 BOOL 值
- javascript - 动态添加和删除的选择框
- html - 为什么不跨越显示高度?
- ios - Swift 4.2 没有在协议中推断类型别名
- plsql - PL/SQL 在循环中删除字符
- scanf - scanf上的分段错误?