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

如何在ggplot2中对Y轴标签的部分内容设置粗体和斜体?

解决ggplot2 Y轴标题混合粗体和斜体的问题

你的报错源于ylab()里的expression语法错误——错误使用paste函数且多余调用text函数,导致代码解析失败。要实现Y轴标题中"Bold"为粗体、"(B)"里的B为斜体的效果,正确写法如下:

修正后的完整代码

set.seed(123)
df <- data.frame(x.axis = rep(c("A","B","C","D"), each = 50),
                 y.axis = rnorm(200, 1.2, 2))  # 修正样本数:4组×50=200行,原代码1000个值会导致行数不匹配报错

ggplot(aes(x = x.axis, y = y.axis), data = df) + 
  geom_point(color = "gray")+  # 去掉重复的aes映射,全局已设置
  stat_summary(fun.data=mean_cl_boot, geom="errorbar", width=0.3, colour="black") + 
  stat_summary(fun.y = mean, color = "black", geom ="point", size = 5,show.legend = FALSE) + 
  theme_classic() +
  theme(aspect.ratio = 7/5) + 
  geom_hline(yintercept = 1) +
  ylab(expression(bold("Bold") ~ "index (" ~ italic("B") ~ ")"))

关键说明

  • expression()是ggplot2实现文本格式混合的核心函数,用bold()包裹需粗体的文本,italic()包裹需斜体的文本
  • ~用于在expression中添加空格,若无需空格可改用*拼接文本
  • 同步修正了原代码中数据框行数不匹配的问题:rep生成200行数据,原rnorm(1000,...)会因值数量与行数量不一致报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 18:05:16