matplotlib中乳胶轴标签的粗体字体粗细

2024-04-29 06:02:55 发布

您现在位置:Python中文网/ 问答频道 /正文

^{}中,可以将轴标签的文本加粗

plt.xlabel('foo',fontweight='bold')

你也可以在正确的后端使用乳胶

plt.xlabel(r'$\phi$')

然而,当你把它们组合起来时,数学文本就不再是粗体了

plt.xlabel(r'$\phi$',fontweight='bold')

下面的LaTeX命令似乎也没有任何效果

plt.xlabel(r'$\bf \phi$')
plt.xlabel(r'$\mathbf{\phi}$')

如何在轴标签中加粗$\phi$


Tags: 文本命令fooplt数学标签latex乳胶
3条回答

很遗憾,您不能使用粗体字体加粗符号,请参见tex.stackexchange上的this question

如答案所示,可以使用\boldsymbol来加粗phi:

r'$\boldsymbol{\phi}$'

您需要将amsmath加载到TeX前导码中:

matplotlib.rc('text', usetex=True)
matplotlib.rcParams['text.latex.preamble']=[r"\usepackage{amsmath}"]

正如这个答案Latex on python: \alpha and \beta don't work?所指出的。您可能对\b有问题,因此\boldsymbol可能无法按预期工作。在这种情况下,您可以在python代码中使用类似:'$ \\\boldsymbol{\\\beta} $'的内容。如果你使用前导plt.rcParams['text.latex.preamble']=[r"\usepackage{amsmath}"]

如果您希望在整个绘图中始终使用粗体字体,最好的方法可能是启用latex并在前言中添加\boldmath

# Optionally set font to Computer Modern to avoid common missing font errors
matplotlib.rc('font', family='serif', serif='cm10')

matplotlib.rc('text', usetex=True)
matplotlib.rcParams['text.latex.preamble'] = [r'\boldmath']

然后,轴或图形标签可以有任何数学乳胶表达式,并且仍然是粗体的:

plt.xlabel(r'$\frac{\phi + x}{2}$')

但是,对于非数学标签的部分,需要显式地将其设置为粗体:

plt.ylabel(r'\textbf{Counts of} $\lambda$'}

相关问题 更多 >