首页 > 解决方案 > R - cowplot:使用 plot_grid 排列 png 图像和 ggplot

问题描述

plot_grid我正在尝试使用来自 cowplot 包的 png 图像和 ggplot 对象并排排列:

library(cowplot)
library(tableHTML)

sg <- data.frame(start = c(0,5,10), 
                 end = c(10,20,30),
                 duration = c(10,15,20), 
                 row.names = c("A","B","C"))

p1 <- ggplot(sg)+
  geom_segment(aes(x=start, y=row_number(start), xend=end, yend=row_number(start)), 
               size = 3) +
  scale_y_reverse(labels = NULL) +
  labs(y = "", x = "") +
  theme(aspect.ratio = 1/5)

sg %>%
  tableHTML() %>%
  add_theme("scientific") %>%
  tableHTML_to_image(file = "image2.png", zoom = 2)

p2 <- ggdraw() + draw_image("image2.png", scale = 0.7)

plot_grid(p2, p1, ncol = 2, scale = c(0.9,1), rel_widths = c(1, 2))

但是,在生成的图中,我发现很难根据需要安排这两个图。

看这里

理想情况下,我希望表格图像的下边界与图表的 x 轴一致。我还希望这两个项目彼此更接近。

我曾尝试修改绘图 p2 的比例、命令中的缩放参数tableHTML_to_image或命令中的比例、rel_widths、对齐和轴参数plot_grid,但没有一个真正让我更接近所需的输出。

我还在这里阅读: 插入图像/PNG ggplot2 - Cowplot 但这仅用于在现有绘图内添加图像,而不是在它旁边。

虽然plot_grid在安排两个 ggplot 时效果很好,但我无法用图像和 ggplot 来正确处理它。

标签: rggplot2cowplot

解决方案


推荐阅读