-1

所以我有一个数据框,我想在 R 中使用 gglot2 进行绘制。为了让您了解我想要的示例 =

  1. 我有一个有 5 列 A、B、C、D、E 的表。
  2. 我想绘制 A vs B、A vs C、A vs D、A vs E 的图表。
  3. 最后,我想将所有这些图合并为一个,将图显示为 A vs B、C、D、E。
  4. 还要注意我的数据框列之一的值低于 0.00x....(这里 x = 任何数字)最多 3 位小数,所以我想确保缩放是正确的。

最后,感谢大家阅读本文并帮助我。

4

2 回答 2

0

您可以分别制作每个图。然后将多个图组合在一起:

library(patchwork)

combined_plot <- plot_AvsB + plot_AvsC + plot_AvsD + plot_AvsE + plot_layout(ncol = 2)

combined_plot
于 2020-07-01T17:07:10.430 回答
0
library(grid)

library(ggplotify)

library(cowplot)

library(tidyverse)

创建所有图(plot_1 到 plot_n),例如:

plot_1 <- ggplot(data, aes(x=x, y=y, fill=value)) + 
theme_classic() + 
theme(text = element_text(size=24), axis.text.x = element_text(angle=0, hjust=0.5), legend.position="none") +
geom_bar(stat="identity", color="black", position=position_dodge()) +
geom_errorbar(aes(ymin=lwr.ci, ymax=upr.ci), width=.2,position=position_dodge(.9)) + 
labs(y="ylab", x="xlab", subtitle = "subtitle") + scale_fill_manual(values=c("yellow", "blue"))

然后你把它们放在一个简单的图中,如下所示:

pdf("many_plots_in_one.pdf")

plot_grid(plot_1, plot_2, plot_3, plot_4, plot_5, plot_6, ncol=3, labels=LETTERS[1:6])

dev.off()
于 2020-07-01T16:59:57.893 回答