在 R Boxplot (ggpubr) 中调整字体大小和小数位数

Adjust Font Size and Decimal Places in R Boxplot (ggpubr)

我正在使用 R 包 GGPubr 制作箱线图。我真的很喜欢它提供的精美视觉效果,但遇到了问题。有谁知道如何增加轴上数字、轴标签和 class 标签的字体大小?另外,如何设置平均值,以便它们只显示 2 位小数?

这是我正在使用的代码:

library("ggpubr")
mydata <- read.csv("C:\temp\ndvi.csv")
ggboxplot(mydata, x = "class", y = "NDVI", 
      color = "class",
      order = c("Conifer", "Deciduous", "Grasslands"),  ggtheme=theme_gray(),
      ylab = "NDVI Value", xlab = "Land Cover Class",
      add="mean",
      font.label = list(size = 30, face = "bold"))+ stat_summary(fun.data 
= function(x) data.frame(y=1, label = paste("Mean=",mean(x))),  geom="text")
+theme(legend.position="none")

和 csv:

NDVI,class
0.25,Conifer
0.27,Conifer
0.29,Conifer
0.403,Deciduous
0.38,Deciduous
0.365,Deciduous
0.31983489,Grasslands
0.32005,Grasslands
0.328887766,Grasslands

我更愿意使用 GGPubr 而不是 boxplot() 或 ggplot/ggplot 2. 谢谢。

这是一个选项,我们使用 round() 来处理小数点后两位,并添加另一个 theme() 来更改文本大小。

ggboxplot(mydata, x = "class", y = "NDVI", 
          color = "class",
          order = c("Conifer", "Deciduous", "Grasslands"),  ggtheme=theme_gray(),
          ylab = "NDVI Value", xlab = "Land Cover Class",
          add="mean",
          font.label = list(size = 30, face = "bold")) +
  # use round() and set y = .45 
  stat_summary(fun.data = function(x) data.frame(y=1, label = paste("Mean=", round(mean(x), 2))), geom="text") + 
  theme(legend.position="none") +
  theme(text = element_text(size = 16)) # change text size of theme components