减少ggplot2中多重绘图的列高

标签 r ggplot2 grid

我可以创建 3 个图,然后使用以下代码将它们合并到同一个图中:

p1 <- qplot(mpg, wt, data=mtcars)
p2 <- p1
p3 <- p1 + theme(axis.text.y=element_blank(), axis.title.y=element_blank())


plot_grid(p1,p2,p3, align = "v",ncol=3)

然后我得到:

enter image description here

并且想知道是否有人知道是否可以在多重图中独立地减少每列的列高比?并得到类似的东西:

enter image description here

最佳答案

利用patchwork一个选项来实现您想要的结果可能如下所示:

library(ggplot2)
library(patchwork)

p1 <- qplot(mpg, wt, data = mtcars)
p2 <- p1
p3 <- p1 + theme(axis.text.y = element_blank(), axis.title.y = element_blank())

pp1 <- p1
pp2 <- plot_spacer() / p2 + plot_layout(heights = c(1, 3))
pp3 <- plot_spacer() / p3 + plot_layout(heights = c(1, 1))

pp1 + pp2 + pp3

关于减少ggplot2中多重绘图的列高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68871427/

相关文章:

r - 按位置分组,而不是按数据框中列的名称分组

r - 如何使用 RDCOMClient 从辅助帐户发送 Outlook 电子邮件 - 翻译现有的 VBA 代码?

r - 在 R 中流式处理大型 csv 文件

r - 如何根据现有模式重命名 R 数据框的列?

r - 如何在 ggplot2 中创建 Marimekko/马赛克图

r - 使用ggplot2绘制具有多个子多边形和孔的SpatialPolygons

r - 使用 geom_dotplot 更改点图的 y 轴以反射(reflect)实际计数

JavaFX "Grid is already inside a scene-graph and cannot be set as root"错误

search - 网格存储配置抛出 "Uncaught TypeError: Cannot read property ' 缓冲'未定义"

python - 在 Python 中使用坐标和 map 图像绘制网格