ggplot中的粗体轴标签

时间:2021-05-06 08:27:55

标签: r ggplot2

使用下面的代码,我得到了粗体的 y 轴标签,但不是 x 轴。问题是仅在使用 math_format() 时的输出。奇怪的是,anglecolorsize 等其他方面可以更改,但字体的 face 不能更改。

library(ggplot2)
library(scales)
a <- ggplot(msleep, aes(bodywt, brainwt)) +
  geom_point(na.rm = TRUE) +
  scale_x_log10(
    breaks = trans_breaks("log10", function(x) 10^x),
    labels = trans_format("log10", math_format(10^.x)))+
  scale_y_log10()+
  theme(axis.text.x = element_text(size=10, face="bold", color = "black"),
        axis.text.y = element_text(size=10, face="bold", color = "black"))
a

1 个答案:

答案 0 :(得分:1)

通过函数 https://stackoverflow.com/a/63674582/10264278 的直接复制/粘贴,它可以工作!

a <- ggplot(msleep, aes(bodywt, brainwt)) +
  geom_point(na.rm = TRUE) +
  scale_x_log10(
    breaks = trans_breaks("log10", function(x) 10^x),
    labels = function(lab) {
      do.call(
        expression,
        lapply(paste(lab), function(x) bquote(bold("10"^.(x))))
      )
    }) +
  scale_y_log10()+
  theme(axis.text.x = element_text(size=10, face="bold", color = "black"),
        axis.text.y = element_text(size=10, face="bold", color = "black"))
a

输出:

enter image description here

相关问题