r - 如何使用R中的`plot_grid`减少一列图的图边距?
问题描述
我需要安排地块,其中每一行地块都有一个共同的图例。所有绘图共享相同的 y 轴和 x 轴单位。下面我展示了我的情节排列方式:
我将每一行的公共图例提取为一个图,然后将其作为附加列添加到我的排列中。
如您所见,带有图例的列在排列中“消耗”了大量空间,我能做些什么来减少它们的边距以支持其他两列?
我之所以使用plot_grid
,是因为我在此链接中看到您可以使用ggdraw
.
解决方案
您可以使用 的rel_widths
参数plot_grid
。这是一个可重现的示例:
library(ggplot2)
library(cowplot)
library(ggpubr)
theme_set(theme_cowplot())
df <- data.frame(x = 1:12, y = (1:12)^2)
df$grp = c('Some', 'Things', 'In a legend')
p <- ggplot(df, aes(x, y, color=grp)) + geom_point()
leg <- get_legend(p)
leg <- as_ggplot(leg)
p = p + theme(legend.position = "none")
plot_grid(
p, p, leg,
p, p, leg,
ncol = 3, rel_widths=c(2,2,1)
)
推荐阅读
- html - 为什么 `position: fixed;` 修复了明显的问题?
- sequelize.js - 在 sequelize where 中使用用户输入作为列名是否安全?
- c++ - c++中的词法分析器
- visual-studio - Subversion/Ankhsvn:如何将状态从“已复制和修改”更改为已添加
- python - 操作文本文件并在 python 中创建一个新文件
- reactjs - 谷歌地图的 React js 中的状态没有更新
- sql - 加入 Access 2016 中具有最大值的行
- java - 在 Arrays.reduce(...) 中调用对象方法
- upstart - 新贵在特定时间之间运行脚本
- uwp - 从我的本地计算机再次重新发布 UWP 应用程序的步骤是什么?