rggplot2scatter-plotfont-sizepearson-correlation

How to increase the font size of auto-generated R and p-value in ggscatter plot?


I want to increase the font size of autogenerated r2 and p value. I used the code like + theme(text = element_text(size = 18)) but it did not make any changes?

The code used are given below

# Load data
data("mtcars")
df <- mtcars
# Convert cyl as a grouping variable
df$cyl <- as.factor(df$cyl)


ggscatter(df, x = "wt", y = "mpg",
          add = "reg.line",                         
          conf.int = TRUE,                          
          color = "cyl", palette = "jco",           
          shape = "cyl"                     
          )+
  stat_cor(aes(color = cyl), label.x = 3) +
 theme(text = element_text(size = 18))

Solution

  • stat_cor uses geom_text. The documentation in help("geom_text") tells you that it "understands" the size aesthetic.

    library(ggpubr)
    
    #recommended way
    ggscatter(df, x = "wt", y = "mpg",
              add = "reg.line",                         
              conf.int = TRUE,                          
              color = "cyl", palette = "jco",           
              shape = "cyl",
              cor.coef = TRUE,
              cor.coeff.args = list(aes(color = cyl), label.x = 3),
              cor.coef.size = 12
    )
    
    #alternatively
    ggscatter(df, x = "wt", y = "mpg",
              add = "reg.line",                         
              conf.int = TRUE,                          
              color = "cyl", palette = "jco",           
              shape = "cyl"                     
    ) +
      stat_cor(aes(color = cyl), label.x = 3, size = 12)