首页 > 解决方案 > 在 R 中使用 ggplot2 带有下标字符的粗体轴

问题描述

我正在尝试使用 R 中的 ggplot2 创建一个带有下标字符的粗体轴标签。

我已经尝试过以下方法,但下标数字似乎是“非粗体”(见下图)。

当前结果

y 轴上“log”之后的 2 似乎不是粗体。但是,此处发布的答案(尝试在 ggplot 中加粗 y 轴)似乎表明确实如此。这只是ggplot2让它看起来的方式吗?

这是使用更简单的数据集和更少的绘图输出格式(不应该对轴标签产生影响)来复制问题(如果确实是问题)的代码:

library(ggplot2)  

dat <- data.frame(x = rnorm(100), y = rnorm(100))

ggplot(dat, aes(x=x,y=y)) +
  geom_point() +
  ylab(expression(bold('Coefficient estimate for log'[2]*' FPRS variable'))) + 
  xlab(expression(bold('This is what a normal 2 looks like'))) 

我还尝试了以下方法(结果相同):

labs(y = expression(bold('Coefficient estimate for log'[2]*' FPRS variable')))

在此先感谢您的帮助!

标签: rggplot2

解决方案


使用您可以轻松地将文本加粗,并使用 LaTeXlatex2exp包装文本'\\textbf{}'Log_2

library(ggplot2) 
library(latex2exp)

dat <- data.frame(x = rnorm(100), y = rnorm(100))

ggplot(dat, aes(x=x,y=y)) +
  geom_point() +
  ylab(TeX('\\textbf{Coefficient estimate for $log_2$ FPRS variable}')) + 
  xlab(TeX('\\textbf{This is what a normal 2 looks like}'))

希望这有帮助!


推荐阅读