ChatGPT解决这个技术问题 Extra ChatGPT

increase legend font size ggplot2

Is there a way to increase the font size in ggplot2? I think I need to specify something like legend.key.width = unit(2, "line") in the theme function, but that is used to adjust the keys in legends, not the font sizes. Thanks!

I normally refer to ?theme for these kinds of questions

l
loki

You can use theme_get() to display the possible options for theme. You can control the legend font size using:

+ theme(legend.text=element_text(size=X))

replacing X with the desired size.


P
PatrickT
theme(plot.title = element_text(size = 12, face = "bold"),
    legend.title=element_text(size=10), 
    legend.text=element_text(size=9))

M
Megatron

You can also specify the font size relative to the base_size included in themes such as theme_bw() (where base_size is 11) using the rel() function.

For example:

ggplot(mtcars, aes(disp, mpg, col=as.factor(cyl))) +
  geom_point() +
  theme_bw() +
  theme(legend.text=element_text(size=rel(0.5)))

So what does rel(0.5) result in? 5.5? 11.5?
Given a base size of 11, and a 50% size relative to the parent, this would yield 5.5.
J
Jefferson Maia

A simpler but equally effective option would be:

+ theme_bw(base_size=X)

Careful. For me this changed other font sizes too (e.g. title, axis labels).