Как я могу сделать несколько графиков в одном ggplot?

Итак, у меня есть фрейм данных, который я хочу построить с помощью gglot2 в R. Чтобы вы поняли, чего я хочу. Пример =

  1. У меня есть таблица с 5 столбцами A, B, C, D, E.
  2. Я хочу построить график A против B, A против C, A против D, A против E.
  3. Наконец, я хочу объединить все эти графики в один, который будет отображать график как A против B, C, D, E.
  4. Также следует отметить, что один из моих столбцов фрейма данных имеет значения ниже 0,00x.... (здесь x = любое число) до 3 десятичных знаков, поэтому я хочу убедиться, что масштабирование правильное.

Наконец, спасибо всем за то, что прочитали это и помогли мне.

2 ответа

Можно сделать каждый сюжет отдельно. Затем объедините несколько графиков вместе:

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()
Другие вопросы по тегам