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

如何在ggqqplot(ggpubr/ggpar)轴标签中添加斜体δ和上标

解决ggqqplot中设置含斜体δ和上标¹³C的y轴标签问题

问题分析

你遇到的argument 'user_env' is missing错误,是因为ggqqplot(来自ggpubr包)的标签参数(如ylab)不支持直接传入expression或bquote生成的表达式对象,它的参数解析逻辑和原生ggplot2有区别。而expression("Sample \u03B4"*^13*"C Values")报错是因为语法错误,^需要在expression的正确语法结构里使用。

正确实现方法

先调用ggqqplot生成基础图形,再用ggplot2的ylab()函数传入正确的表达式标签,绕过ggqqplot的参数限制,实现目标格式。

完整代码

# 加载所需包
library(ggpubr)
library(ggplot2)

# 创建示例数据
set.seed(1234)
wdata = data.frame(
  sex = factor(rep(c("F", "M"), each=200)),
  weight = c(rnorm(200, 55), rnorm(200, 58)))

# 生成QQ图并设置正确的y轴标签
ggqqplot(wdata, 
         x = "weight",
         title = NULL,
         xlab = NULL) +
  ylab(expression(plain("Sample")~italic(delta)^13*"C Values"))

标签语法说明

  • plain("Sample"):让"Sample"保持普通字体
  • ~:添加空格分隔不同元素
  • italic(delta):让δ(expression支持内置的delta符号)显示为斜体
  • ^13:给13添加上标
  • *"C Values":连接普通文本"C Values"

如果偏好使用Unicode的δ符号,也可以替换为以下写法:

ylab(expression(plain("Sample")~italic("\u03B4")^13*"C Values"))

原方法失败原因

  • 直接在ggqqplot的ylab参数传入bquote/expression:ggpubr函数对这类表达式参数的处理逻辑和原生ggplot不同,导致解析报错
  • 错误的expression语法:expression("Sample \u03B4"*^13*"C Values")中的*^是错误写法,expression中连接元素应使用~或*,上标需要依附在具体元素上,正确结构为italic(delta)^13

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 18:44:51