Жирный шрифт для метки осей 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$
в моей метке оси?
Ответы
Ответ 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}" ]