R 可以在同一ggplot2轴内改变文本大小吗?
我想使用ggplot2绘制一个坐标轴文本大小在不同标签之间变化的绘图-例如,每五个记号使用较大的字体,中间记号使用较小的字体。我在R 可以在同一ggplot2轴内改变文本大小吗?,r,ggplot2,R,Ggplot2,我想使用ggplot2绘制一个坐标轴文本大小在不同标签之间变化的绘图-例如,每五个记号使用较大的字体,中间记号使用较小的字体。我在scale\u x\u continuous中查看了使用minor\u breaks,但我找不到标记minor breaks的方法 到目前为止,我所能做的最好的工作就是修改,我使用bquote传递轴标签的表达式: label_span <- 1:40 ShrinkIf <- Vectorize(function(val) { if (val %% 5
scale\u x\u continuous
中查看了使用minor\u breaks
,但我找不到标记minor breaks的方法
到目前为止,我所能做的最好的工作就是修改,我使用bquote
传递轴标签的表达式:
label_span <- 1:40
ShrinkIf <- Vectorize(function(val) {
if (val %% 5 == 0) return(as.character(val))
return(bquote(scriptstyle(.(as.character(val)))))
})
x_labels <- ShrinkIf(label_span)
x_labels <- purrr::invoke(expression, x_labels)
ggplot(mtcars, aes(x = mpg , y = hp)) +
geom_point() +
scale_x_continuous(breaks = label_span, labels = x_labels)
label\u span您可以创建文本大小的向量,并使用element\u text()
干净简单,就这样了。谢谢
library(ggplot2)
ggplot(mtcars, aes(x = mpg, y = hp)) +
geom_point() +
theme(
axis.text.x = element_text(size = rep(c(12,24), 3))
)