web-dev-qa-db-ja.com

matplotlibのLaTeX軸ラベルの太字フォントの太さ

matplotlib では、軸ラベルのテキストを太字にすることができます。

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

また、適切なバックエンドでLaTeXを使用することもできます

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

ただし、それらを組み合わせると、数学のテキストは太字ではなくなります

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

次のLaTeXコマンドも効果がないようです

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

太字の$\phi$私の軸ラベルに?

28
Hooked

残念ながら、太字フォントを使用して記号を太字にすることはできません。tex.stackexchangeの この質問 を参照してください。

答えが示唆するように、\boldsymbol太字のファイ:

r'$\boldsymbol{\phi}$'

amsmathをTeXプリアンブルにロードする必要があります。

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

プロット全体で一貫して太字のフォントを使用する場合、ラテックスを有効にして\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$'}
16
drs

この答えとして Pythonのラテックス:\ alphaと\ betaは機能しませんか? が指摘しています。 \bに問題がある可能性があるため、\boldsymbolは予想どおりに機能しない可能性があります。その場合、pythonコードで'$ \\\boldsymbol{\\\beta} $'のようなものを使用できます。プリアンブルplt.rcParams['text.latex.preamble']=[r"\usepackage{amsmath}"]を使用する場合

0
CJD