使用下面的代码,我得到了粗体的 y 轴标签,但不是 x 轴。问题是仅在使用 math_format()
时的输出。奇怪的是,angle
、color
和 size
等其他方面可以更改,但字体的 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
答案 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
输出: