如何在ggplot注释中添加上下对齐带横线的分数格式?
在ggplot中添加上下对齐的分数注释
要实现分子分母上下对齐带横线的分数格式,有两种简单可行的方法:
方法1:使用plotmath表达式
ggplot原生支持base R的plotmath语法,借助frac()函数就能生成标准的分数格式:
library(ggplot2) ggplot(mtcars, aes(cyl, mpg)) + geom_point()+ annotate("text", x = 3, y = 30, label = expression(frac(1,9)), size = 10, color = "red") + coord_cartesian()
expression(frac(分子, 分母))会自动渲染出上下对齐带横线的分数,注意调整y轴坐标(示例中改为y=30,避免原坐标y=3超出可视范围)。
方法2:使用ggtext包支持LaTeX格式
如果更习惯LaTeX语法,可以用ggtext包的富文本注释功能:
library(ggplot2) library(ggtext) ggplot(mtcars, aes(cyl, mpg)) + geom_point()+ annotate("richtext", x = 3, y = 30, label = "$\\frac{1}{9}$", size = 10, color = "red", fill = NA, label.color = NA) + coord_cartesian()
使用richtext类型注释,LaTeX语法$\frac{1}{9}$会被正确渲染;fill=NA和label.color=NA用于移除文本框的背景与边框,让注释效果和普通文本一致。
内容的提问来源于stack exchange,提问作者TarJae
相关产品推荐
相关产品推荐

