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

如何在Matplotlib的x轴标签中设置x为粗体斜体?

解决Matplotlib x轴标签中x字符的粗体斜体设置问题

嘿,我来帮你搞定这个需求!你尝试用annotate手动放置字符的方式来设置x的样式,但其实利用你已经开启的LaTeX支持,直接在轴标签里嵌入LaTeX命令就能更简洁准确地实现效果,还不用手动调整位置。

核心思路

既然你已经开启了text.usetex=True,完全可以直接在轴标签文本中用LaTeX的粗体斜体组合命令:\textbf{\textit{x}},把需要设置样式的字符用这个命令包裹,再放在$...$里让Matplotlib解析成LaTeX格式即可。

修正后的完整代码

import matplotlib.pyplot as plt

# 保留你原来的LaTeX配置参数
plt.rcParams['text.latex.preamble'] = [r"\usepackage{lmodern}"]
params = {
    'text.usetex': True,
    'font.size': 14,
    'font.family': 'lmodern',
    'text.latex.unicode': True
}
plt.rcParams.update(params)

fig, ax = plt.subplots()

# 直接在xlabel中用LaTeX命令设置x的样式,这里举了结合单位的例子
ax.set_xlabel(r'$\textbf{\textit{x}}$ (数值单位)')

plt.show()

为什么你的原方法没生效?

你用annotate设置的weight='bold'和style='italic'是Matplotlib原生样式参数,但因为开启了LaTeX渲染,这些参数会被LaTeX的渲染规则覆盖,导致样式不生效。而直接用LaTeX命令指定样式,会被LaTeX引擎正确解析渲染,效果更可靠。

如果只是单纯显示粗体斜体的x作为x轴标签,还可以简化成:

ax.set_xlabel(r'$\textbf{\textit{x}}$')

这样就能完美得到你想要的粗体斜体x字符啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:51:12