如何在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
相关产品推荐
相关产品推荐

