ggplot2设置theme(axis.text)字号仅x轴生效y轴无变化如何解决
解决方案
这个问题的核心原因是你用到的这个bootstrap绘图函数是基于ggplot2二次封装的,内部默认给y轴文本单独设置了样式规则,单独设置全局axis.text的优先级低于内置的y轴专属样式,所以无法生效。
你可以用以下两种方法解决:
- 方法1:显式分别指定x、y轴的文本样式,直接覆盖内置的专属配置,这是最稳妥的方案,不会影响其他默认主题效果:
FigureS8 <- plot(nonParametricBoot, "edge", plot = "difference", onlyNonZero = TRUE, order = "sample") FigureS8 + theme( axis.text.x = element_text(size = 3), axis.text.y = element_text(size = 3) )
- 方法2:如果方法1仍不生效,可以加
replace = TRUE参数强制替换所有原有主题配置,适合需要完全自定义主题的场景:
FigureS8 + theme( axis.text = element_text(size = 3), # 其他你需要的主题配置可以加在这里 replace = TRUE )
使用方法2时需要注意,原函数内置的所有主题样式都会被清空,你需要把需要保留的样式也同步添加到theme参数里。
内容的提问来源于stack exchange,提问作者Brage Kraft
相关产品推荐
相关产品推荐

