如何在ggplot标题中单独修改部分文本的字号与颜色?
ggplot标题精细化样式控制
要实现标题中不同文字的字号、颜色区分且保持单行,原生ggplot的ggtitle无法直接做到,需要借助ggtext包解析富文本格式:
步骤1:准备依赖包
如果还没安装ggtext,先执行安装命令(仅首次需要):
install.packages("ggtext")
步骤2:修改代码实现自定义标题样式
将标题写成HTML格式的富文本,通过element_markdown()让ggplot解析样式:
library(ggplot2) library(ggtext) x <- c(0,1,2,3) y <- c(0,1,4,9) z <- data.frame(x,y) ggplot(z, aes(x=x, y=y)) + geom_line() + # 用HTML span标签单独设置WORLD的字号和颜色 ggtitle("HELLO <span style='font-size:18pt; color:#ff4500'>WORLD</span>") + theme( # 启用markdown解析,并设置标题基础样式 plot.title = element_markdown(size = 14, face = "bold", hjust = 0.5) )
关键说明
<span style='...'>标签可以自定义指定文字的样式:font-size控制字号,color控制颜色(支持十六进制码、颜色名)element_markdown()会解析标题中的HTML/markdown语法,实现同一段文本内的样式差异theme中的plot.title可以设置标题的基础样式(如整体字体粗细、对齐方式),不会覆盖<span>内的单独设置
内容的提问来源于stack exchange,提问作者Carl Morgenstern
相关产品推荐
相关产品推荐

