Изменить семейство шрифтов вывода stat_compare_mean () в ggplot - PullRequest
2 голосов
/ 09 апреля 2020

Можно ли изменить семейство шрифтов p-значения в следующем ggpboxplot? Семейство шрифтов должно быть "Times New Roman".

Использование theme_bw (base_family = "Times New Roman") не изменяет значение p.

library(ggpubr) 
library(ggplot2)
data("ToothGrowth")

# Box plot 
p <- ggboxplot(ToothGrowth, x = "supp", y = "len",
      color = "supp", palette = "jco",
      add = "jitter",
      facet.by = "dose", short.panel.labs = FALSE) 

p + stat_compare_means(label = "p.format")
p + theme_bw(base_family = "Times New Roman")

Я также пробовал использовать обычную тему (text = ...). Это не работает.

# Box plot 
p <- ggboxplot(ToothGrowth, x = "supp", y = "len",
      color = "supp", palette = "jco",
      add = "jitter",
      facet.by = "dose", short.panel.labs = FALSE) 

p + stat_compare_means(label = "p.format")
p + theme(text = element_text(family = "Times New Roman"))

Обратите внимание: я взял пример со следующего веб-сайта: https://rpkgs.datanovia.com/ggpubr/reference/stat_compare_means.html

Спасибо большое, очень большое!

Всего наилучшего, Аенна

1 Ответ

1 голос
/ 09 апреля 2020

Вы были близки, аргумент family = идет прямо в stat_compare_means().

С help(stat_compare_means):

Usage
stat_compare_means(mapping = NULL, data = NULL, method = NULL,
  paired = FALSE, method.args = list(), ref.group = NULL,
  comparisons = NULL, hide.ns = FALSE, label.sep = ", ",
  label = NULL, label.x.npc = "left", label.y.npc = "top",
  label.x = NULL, label.y = NULL, tip.length = 0.03,
  bracket.size = 0.3, step.increase = 0, symnum.args = list(),
  geom = "text", position = "identity", na.rm = FALSE,
  show.legend = NA, inherit.aes = TRUE, ...)
<snip>
...   other arguments to pass to geom_text or geom_label.

Таким образом, этот код должен делать то, что вы хотите.

 ggboxplot(ToothGrowth, x = "supp", y = "len",
      color = "supp", palette = "jco",
      add = "jitter",
      facet.by = "dose", short.panel.labs = FALSE) +
      stat_compare_means(label = "p.format",family = "Times New Roman") 
      #Use this if on Windows:  stat_compare_means(label = "p.format",family = "TT Times New Roman")

enter image description here

...