#python #matplotlib #latex #axis-labels #pgf
#питон #matplotlib #Латекс #оси-метки #pgf
Вопрос:
У меня возникли проблемы с экспортом графика, который я сделал с помощью matplotlib, в pgf. Без жирного символа на метке оси проблем нет, но с я получаю ошибку.
Вот мой код:
import seaborn as sns import numpy as np import matplotlib as mpl mpl.rcParams.update(mpl.rcParamsDefault) mpl.use('pgf') mpl.rcParams.update({ 'pgf.texsystem': "pdflatex", 'font.family': 'serif', 'text.usetex': True, 'pgf.rcfonts': False, 'font.serif': ["Computer Modern Roman"], }) mpl.rc('text.latex', preamble=r'usepackage{bm}') import matplotlib.font_manager import matplotlib.pyplot as plt f, ax = plt.subplots(figsize = (8,4)) sns.set_color_codes("colorblind") b = sns.barplot(x=probs, y=words, color='b') ax.set(xlabel = r'{Probability of word, $p(w|boldsymbol{pi}_{ML})$}', ylabel = r'{Word, $w$}' ) b.set_yticklabels(labels=b.get_yticklabels(), va='center') f.tight_layout() plt.savefig('graph.pgf', format='pgf')
И ошибка, которую я получаю, такова:
LatexError: LaTeX process halted ! Undefined control sequence. lt;argumentgt; ...rd, (displaystyle p(w|boldsymbol {pi }_{ML}))} lt;*gt; ...displaystyle p(w|boldsymbol{pi}_{ML}))}} ! ==gt; Fatal error occurred, no output PDF file produced! Transcript written on texput.log.
Я думал, что включение usepackage{bm}
в мою преамбулу позволило бы обойти эту проблему?
Любая помощь была бы вам очень признательна!
Комментарии:
1. можете ли вы показать полученный код pgf?
Ответ №1:
Во второй раз на этой неделе…многочасовые попытки отладки и поиска привели меня к тому, что я нашел решение сразу после публикации в stackoverflow.
Решение:
mpl.rcParams.update({ 'pgf.texsystem': "pdflatex", 'font.family': 'serif', 'text.usetex': True, 'pgf.rcfonts': False, "pgf.preamble": "n".join([ r"usepackage{bm}", ]), 'font.serif': ["Computer Modern Roman"], 'text.latex.preamble': pream, })