最近公众号「生信媛」和「生信宝典」的小伙伴在说ggplot2无法一次性设置所有字体,theme
只能设置axis text, title这些,而搞不了geom_text
,geom_text
必须要手工输入family=XXX
来设置,因为不能使用theme
来更换,也就是说没办法通过后处理来设定,比较麻烦。
这显然是不对的,后处理必须可以的,一次性满足所有愿望也只是因为没人写个神奇的函数而已。于是我就动手写了个set_font
的函数。
假设我们有下图:
library(ggplot2)
d <- data.frame(x=rnorm(10), y=rnorm(10), lab=LETTERS[1:10])
p <- ggplot(d, aes(x, y)) +
geom_text(aes(label=lab, color=lab), size=10) +
geom_text(aes(y, x, label=lab), size=3)