Как глобально изменить размер и цвет тегов с помощью ggplot2 и ggpubr?

avatar
Daniel Valencia C.
1 июля 2021 в 16:59
61
1
1

У меня есть 3 графика в массиве с использованием ggarrange из пакета ggpubr. Размер и шрифт тегов можно изменить с помощью функции ggarrange(), как я представил ее в MWE. Есть ли способ сделать это изменение глобально, может быть, внутри theme_set() или theme(), чтобы оно применялось ко всем графикам?

library(ggplot2)
library(ggpubr)

p <- ggscatter(iris, x = "Sepal.Length", y = "Sepal.Width",
               color = "Species", palette = "jco",
               ggtheme = theme_minimal())

ggarrange(p, p, p,
          ncol = 3,
          common.legend = TRUE,
          labels = c("a", "b", "c"),
          font.label = list(size = 15,
                            color = "red"))

enter image description here

Источник

Ответы (1)

avatar
stefan
1 июля 2021 в 19:08
1

Одним из вариантов может быть создание небольшой оболочки, которая под капотом вызывает ggarrange с нужными значениями по умолчанию и которую можно легко применить ко всем вашим графикам:

library(ggplot2)
library(ggpubr)

p <- ggscatter(iris, x = "Sepal.Length", y = "Sepal.Width",
               color = "Species", palette = "jco",
               ggtheme = theme_minimal())

ggarrange1 <- function(...  ncol = NULL, labels = "auto") {
  ggarrange(...  ncol = ncol, labels = labels, common.legend = TRUE, font.label = list(size = 15,color = "red"))
}

ggarrange1(p, p, p, ncol = 3)