Подтвердить что ты не робот

Жирный шрифт для метки осей LaTeX в matplotlib

В 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$ в моей метке оси?

4b9b3361

Ответ 1

К сожалению, вы не можете выделить жирный шрифт с помощью жирного шрифта, см. этот вопрос на tex.stackexchange.

Как следует из ответа, вы можете использовать \boldsymbol для смелых phi:

r'$\boldsymbol{\phi}$'

Вам нужно загрузить amsmath в преамбулу TeX:

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

Ответ 2

Если вы намерены постоянно выделять шрифты по всему графику, лучшим способом может быть включение латекса и добавление \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$'}

Ответ 3

Как этот ответ Латекс на python:\alpha и \beta не работает? указывает. У вас может быть проблема с \b, поэтому\boldsymbol может работать не так, как ожидалось. В этом случае вы можете использовать что-то вроде: '$\\boldsymbol {\\ beta} $' в вашем коде python. Если вы используете преамбулу plt.rcParams ['text.latex.preamble'] = [r "\ usepackage {amsmath}" ]