Bold font weight for LaTeX axes label in matplotlib
在
将轴标签的文本加粗
1 | plt.xlabel('foo',fontweight='bold') |
您也可以将LaTeX与正确的后端一起使用
1 | plt.xlabel(r'$\\phi$') |
但是,当您将它们组合时,数学文本不再是粗体的
1 | plt.xlabel(r'$\\phi$',fontweight='bold') |
以下LaTeX命令似乎也没有作用
1 2 | plt.xlabel(r'$\\bf \\phi$') plt.xlabel(r'$\\mathbf{\\phi}$') |
如何在轴标签中加粗
不幸的是,您不能使用粗体显示粗体符号,请参阅tex.stackexchange上的此问题。
如答案所示,您可以使用
1 | r'$\\boldsymbol{\\phi}$' |
您需要将
1 2 | matplotlib.rc('text', usetex=True) matplotlib.rcParams['text.latex.preamble']=[r"\\usepackage{amsmath}"] |
如果您打算在整个绘图中使用一致的加粗字体,则最好的方法可能是启用乳胶并将
1 2 3 4 5 | # 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'] |
然后,轴或图形标签可以具有任何数学乳胶表达式,但仍为粗体:
1 | plt.xlabel(r'$\\frac{\\phi + x}{2}$') |
但是,对于非数学部分的标签,您需要将其明确设置为粗体:
1 | plt.ylabel(r'\\textbf{Counts of} $\\lambda$'} |
如果有人像我一样偶然发现了Google,则另一种不需要调整rc前导码(并且与非胶乳文本冲突)的方法是:
1 | ax.set_ylabel(r"$\\mathbf{\\partial y / \\partial x}$") |
作为此答案在python上的Latex:\\\\ alpha和\\\\ beta不起作用?指出。