在 R 中,如何调整图表中的字体呢?
1、geom_text
通过 ggplot2 包中的geom_text或是annotate命令,我们可以对图表文本中的一系列属性进行设置。geom_text通常用于将数据框中的文本加入图表,而annotate则用于往图表中添加一个独立的文本元素。
需要注意的是字体的size是以 mm 为单位的,而非磅。
dat <- data.frame(
y = 1:3,
text = c("This is text", "Text with\nmultiple lines",
"Some more text")
)
library(ggplot2)
p <- ggplot(dat, aes(x=1, y=y)) +
scale_y_continuous(limits=c(0.5, 3.5), breaks=NULL) +
scale_x_continuous(breaks=NULL)
p + geom_text(aes(label=text))
p + geom_text(aes(label=text), family="Times",
fontface="italic", lineheight=.8) +
annotate(geom="text", x=1, y=1.5, label="Annotation text",
colour="red",
size=7, family="Courier", fontface="bold", angle=30)
2、theme 和 element_text
当我们对标题、图例、轴标签等元素进行调整时,我们可以使用element_text命令,这个命令与上述geom_text有着类似的参数,特别的是其size的值对应的单位是磅而非 mm,并且它没有fontface参数,与之对应的参数名为face。默认的情况下,size的值取决于元素本身,例如标题默认地会比刻度标签大一些。
p + geom_point() +
ggtitle("This is a Title") +
theme(plot.title=element_text(family="Times", face="bold", size=20))