Matplotlib - Невозможно сохранить рисунок как файл eps при использовании латекса для визуализации текста. - PullRequest
0 голосов
/ 09 сентября 2018

Я использую латекс для рендеринга текста в matplotlib, но я не могу сохранить рисунок, если в каком-либо тексте есть латексные среды.

Упрощенный код:

import matplotlib as mpl
mpl.use('PS')
import matplotlib.pyplot as plt
mpl.rcParams['text.usetex'] = True

s = (r"\begin{description}"
     r"\item[someitem:] blah blah blah blah blah \\"
     r"Some more text that I want to add to my plot"
     r"\item[anotheritem:] This is even more text"
     r"\end{description}")
plt.text(0,0,s)
plt.savefig('myfig.eps')

Я получаю общую ошибку латекса, когда пытаюсь ее сохранить.

! Ошибка LaTeX: что-то не так - возможно, отсутствует \ item.

См. Руководство к LaTeX или к LaTeX Companion. Введите H для немедленной помощи.

Однако я не думаю, что с моим латексом что-то не так. Я попытался скомпилировать латексный документ только с приведенным выше фрагментом, и он работал нормально.

Интересно, что график будет визуализирован, если я использую интерактивный бэкэнд с ipython / jupyter-notebook, но я все еще не могу сохранить рисунок в виде файла ps или eps. Это также работает, если я удаляю \begin{...} ... \end{...}

Как сохранить рисунок в виде файла ps / eps, если в тексте используется латексная среда?

1 Ответ

0 голосов
/ 09 сентября 2018

Вы должны быть в вертикальном режиме .Вы можете обернуть текст в parbox:

import matplotlib as mpl
mpl.use('PS')
import matplotlib.pyplot as plt
mpl.rcParams['text.usetex'] = True

s = (r"\parbox{4in}{"
     r"\begin{description}"
     r"\item[someitem:] blah blah blah blah blah \\"
     r"Some more text that I want to add to my plot"
     r"\item[anotheritem:] This is even more text"
     r"\end{description}"
     r"}"
    )

plt.text(0,0,s)
plt.savefig('myfig.eps')

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...