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

如何在Matplotlib标题中插入加粗连字符而非减号?

在Matplotlib中添加带连字符的加粗标题的解决办法

方案1:直接使用字体加粗参数(最简便)

无需依赖LaTeX渲染,直接给set_title()传入fontweight='bold'参数,连字符会正常显示为普通连字符:

import matplotlib.pyplot as plt
import numpy as np

# Data for plotting
t = np.arange(0.0, 2.0, 0.01)
s = 1 + np.sin(2 * np.pi * t)

fig, ax = plt.subplots()
ax.plot(t, s)
ax.set_title("hyphenated-example", fontweight='bold')
plt.show()

方案2:用Mathtext文本环境包裹连字符

如果需要混合LaTeX数学符号和加粗文本,可使用\textbf{}包裹标题,同时将连字符放在\text{}中,避免被解析为数学减号:

import matplotlib.pyplot as plt
import numpy as np

# Data for plotting
t = np.arange(0.0, 2.0, 0.01)
s = 1 + np.sin(2 * np.pi * t)

fig, ax = plt.subplots()
ax.plot(t, s)
ax.set_title(r"$\textbf{hyphenated\text{-}example}$")
plt.show()

方案3:启用系统LaTeX渲染(支持完整LaTeX语法)

若需要使用纯LaTeX的命令(比如\mbox{}),可以开启Matplotlib的系统LaTeX渲染模式(需提前在系统中安装LaTeX环境):

import matplotlib.pyplot as plt
import numpy as np

# 启用系统LaTeX渲染
plt.rcParams.update({'text.usetex': True})

# Data for plotting
t = np.arange(0.0, 2.0, 0.01)
s = 1 + np.sin(2 * np.pi * t)

fig, ax = plt.subplots()
ax.plot(t, s)
ax.set_title(r"\textbf{hyphenated-example}")
# 也可以用\mbox包裹:ax.set_title(r"\textbf{\mbox{hyphenated-example}}")
plt.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 04:45:44