ggplot2/ggpubr坐标轴标签添加上标与希腊字母μ的问题求助
修正方案
你代码的问题是expression内的plotmath语法写法有误,按以下规则调整即可正常渲染希腊字母和上标:
ggboxplot(Photo_Mass_2021, x = "Species", y = "Pn_N", title= "不同物种净光合速率对比", ylab = expression(净光合速率~(mu*mol~m^-2~s^-1~g^-1)), color = "Species", add = "jitter", legend = "none") + geom_hline(yintercept = mean(Photo_Mass_2021$Pn_N), linetype = 2)+ stat_compare_means(method = "anova", label.y = 170)+ stat_compare_means(label = "p.signif", method = "t.test",ref.group = ".all.")
如果需要保留英文标签,将ylab替换为以下内容即可:
ylab = expression("Net Photosynthesis"~(mu*mol~m^-2~s^-1~g^-1))
语法说明
R绘图系统的表达式标签遵循plotmath语法,核心规则如下:
- 希腊字母直接写对应英文名称即可渲染,例如
mu对应μ、sigma对应σ,无需引入Unicode字符 - 上标用
^标识,下标用_标识,多字符的上下标用大括号包裹,例如CO[2]会渲染为CO₂ - 普通文本用双引号包裹,内容无间距拼接用
*,需要添加空格用~ - 无需额外嵌套
paste函数,直接写表达式内容即可正常解析
内容的提问来源于stack exchange,提问作者Jenna
相关产品推荐
相关产品推荐

