You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ggplot标签制作:Unicode上标大写C、Z字符查询及实现问题

解决ggplot含特殊字符标签的问题

两种正确实现方法

方法1:用ggplot原生支持的expression()(推荐)

ggplot的标签支持plotmath表达式语法,直接写出上下标和希腊字母,无需凑Unicode,渲染效果最稳定:

data <- data.frame(x = c(0, 1, 2, 3, 4),
                   y = c(0, 1, 2, 3, 4))

ggplot(data, aes(x = x, y = y)) +
  geom_line() +
  xlab(expression(Corr(beta^WAZ, beta^DDC)))

方法2:用正确的Unicode上标字符

之前的问题是找错了Z和C的上标Unicode,大写字母上标的Unicode范围是U+1D2C(A)到U+1D45(Z),对应A-Z的顺序。正确字符如下:

  • β:U+03B2
  • 上标W:U+1D42
  • 上标A:U+1D2C
  • 上标Z:U+1D36
  • 上标D:U+1D30
  • 上标C:U+1D2E

修正后的代码:

ggplot(data, aes(x = x, y = y)) +
  geom_line() +
  xlab(paste0("Corr(\u03B2\u1D42\u1D2C\u1D36, \u03B2\u1D30\u1D30\u1D2E)"))

方法3:正确使用bquote()

之前的错误是把bquote()和paste0()混用,导致表达式被转成字符串。直接用bquote()包裹整个表达式即可:

ggplot(data, aes(x = x, y = y)) +
  geom_line() +
  xlab(bquote(Corr(beta^WAZ, beta^DDC)))

可用资源

  • 查看R内置的plotmath语法:在R控制台输入?plotmath,里面有所有支持的数学符号、上下标、分式等语法说明,是ggplot标签的官方参考。
  • Unicode大写字母上标规律:大写A-Z的上标Unicode从U+1D2C开始依次递增,比如A=1D2C,B=1D2D,…,Z=1D45,不用零散查找单个字符。

内容的提问来源于stack exchange,提问作者Wilson King

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 15:05:26