matplotlib中LaTeX轴标签的粗体字体重量

Hoo*_*ked 28 python latex matplotlib

matplotlib您可以使轴标签的文本加粗

plt.xlabel('foo',fontweight='bold')
Run Code Online (Sandbox Code Playgroud)

您也可以使用右侧后端的LaTeX

plt.xlabel(r'$\phi$')
Run Code Online (Sandbox Code Playgroud)

但是,当您将它们组合时,数学文本不再是粗体

plt.xlabel(r'$\phi$',fontweight='bold')
Run Code Online (Sandbox Code Playgroud)

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

plt.xlabel(r'$\bf \phi$')
plt.xlabel(r'$\mathbf{\phi}$')
Run Code Online (Sandbox Code Playgroud)

如何$\phi$在轴标签上加粗?

And*_*den 23

遗憾的是,您不能使用粗体字体粗体符号,请在tex.stackexchange上查看此问题.

如答案所示,您可以使用\boldsymbol粗体phi:

r'$\boldsymbol{\phi}$'
Run Code Online (Sandbox Code Playgroud)

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

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

  • `matplotlib.rcParams['text.latex.preamble']=[r"\usepackage{amsmath}"]` 对我不起作用(Python 3.9.9),但是 `matplotlib.rc('text.latex', preamble =r'\usepackage{amsmath}')` 做到了!感谢[这篇文章](/sf/ask/2901717661/#41453758) (3认同)

drs*_*drs 16

如果您打算在整个情节中使用一致的粗体字体,最好的方法可能是启用乳胶并添加\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']
Run Code Online (Sandbox Code Playgroud)

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

plt.xlabel(r'$\frac{\phi + x}{2}$')
Run Code Online (Sandbox Code Playgroud)

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

plt.ylabel(r'\textbf{Counts of} $\lambda$'}
Run Code Online (Sandbox Code Playgroud)


sod*_*bus 6

如果有人像我一样从谷歌偶然发现这个,另一种不需要调整 rc 序言(并与非乳胶文本冲突)的方法是:

ax.set_ylabel(r"$\mathbf{\partial y / \partial x}$")
Run Code Online (Sandbox Code Playgroud)