【问题标题】:Side-By-Side ggplots within rMarkdown using grid.arrange()使用 grid.arrange() 在 rMarkdown 中并排显示 ggplots
【发布时间】:2021-03-09 18:25:23
【问题描述】:

我想在 html 报告中并排显示两个图 (ggplot)。大多数资源都建议使用 gridExtra 包中的 grid.arrange() 是完成此任务的最简单方法。但是, grid.arrange() 正在改变我的地块的比例(沿着 x 轴挤压它们)。我想保持轴比例。我玩过widths=heights= 选项,但没有任何效果。

如果grid.arrange() 无法轻松解决此问题,是否有其他替代方法可以并排显示图像?

附:我确实看到了altering height of rows produced by grid.arrange when nrow=1,但该解决方案对我不起作用。

谢谢!

{r Images, echo=FALSE}
p1 <- ggplot(pcaData, aes(PC1, PC2, color=By_Experiment, shape=Date)) +
  geom_point(size=3) +
  xlab(paste0("PC1: ",percentVar[1],"% Variance")) +
  ylab(paste0("PC2: ",percentVar[2],"% Variance")) +
  labs(title="PCA of Gene Counts (rLog Transformed)") +
  theme(axis.line = element_line(color = "black"))

p2 <- ggplot(pcaData, aes(PC1, PC2, color=By_Experiment, shape=Calcium_TP)) +
  geom_point(size=3) +
  xlab(paste0("PC1: ",percentVar[1],"% Variance")) +
  ylab(paste0("PC2: ",percentVar[2],"% Variance")) +
  labs(title="PCA of Gene Counts (rLog Transformed)") +
  theme(axis.line = element_line(color = "black"))

p1
p2
grid.arrange(p1, p2, ncol=2)

【问题讨论】:

  • 您能否分享与您相同结构的数据以重现您的问题?在您的问题正文中包含dput(pcaData) 的输出是一个好方法。

标签: r ggplot2 r-markdown gridextra


【解决方案1】:

您可以通过在代码块的开头包含fig.widthfig.height 来控制HTML 报告中生成的图的尺寸。尝试包含 {r, fig.width=12, fig.height=4} 并查看情节是否看起来不那么压缩。

【讨论】:

  • 将其添加到代码块中并结合grid.arrange() 效果很好。您是如何确定fig.widthfig.height 的值的?
  • 我确实做了两个图并尝试了值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多