所以我有一个数据框,我想在 R 中使用 gglot2 进行绘制。为了让您了解我想要的示例 =
- 我有一个有 5 列 A、B、C、D、E 的表。
- 我想绘制 A vs B、A vs C、A vs D、A vs E 的图表。
- 最后,我想将所有这些图合并为一个,将图显示为 A vs B、C、D、E。
- 还要注意我的数据框列之一的值低于 0.00x....(这里 x = 任何数字)最多 3 位小数,所以我想确保缩放是正确的。
最后,感谢大家阅读本文并帮助我。
您可以分别制作每个图。然后将多个图组合在一起:
library(patchwork)
combined_plot <- plot_AvsB + plot_AvsC + plot_AvsD + plot_AvsE + plot_layout(ncol = 2)
combined_plot
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()