LINUX.ORG.RU

matplotlib — экспортировать легенду в tex

 , ,


0

2

Хочу сделать легенду в виде отдельного tex-файла, инжектируемого в пояснение к рисунку (кривые ссылаются на формулы, библиографию и пр.). Как такое можно провернуть, в каком формате, собственно, будут будут ключевые обозначения кривых? Можно конечно номерами сделать — но такое всегда настолько тяжело читать, что хочется сделать удобно.

★★★★★

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

James_Holden ★★★★
()

Эм,не уверен что понял что именно вы хотите, но обычно используют pgf:

matplotlib.use("pgf")
matplotlib.rcParams.update({
    "pgf.texsystem": "pdflatex",
    'font.family': 'serif',
    'text.usetex': True,
    'pgf.rcfonts': False,
})

...

plt.legend([r'$\frac{1}{4}+\frac{\alpha}{10}$'], loc = 1)
plt.savefig('image.pgf')

затем

\begin{figure}
    \begin{center}
        \input{image.pgf}
    \end{center}
    \caption{Example image.}
\end{figure}

При таком подходе все легенды остаются текстом, а не картинкой, те находятся поиском, выделяются и тд.

Obezyan
()
Ответ на: комментарий от Obezyan

Хочу в label использовать \ref и \cite — что бы при генерации манускрипта там правильно всё проставилось.

thunar ★★★★★
() автор топика
Последнее исправление: thunar (всего исправлений: 3)
Ответ на: комментарий от thunar

Хочу в label использовать \ref и \cite — что бы при генерации манускрипта там правильно всё проставилось.

pgf как раз подойдет

plt.plot(x, y, label=r'Info \cite{<key>}')
plt.legend(loc=0)
plt.savefig('image.pgf')
Obezyan
()

Лучше так не делать, график будет перегружен. Лучше поставить циферки или буковки, а в подписи все расшифровать.

Одно из требований во многих журналах - не делать сложных легенд - не на пустом месте родилось…

Но если очень хочется - в гнуплоте есть терминал epslatex, когда все зарамочное оформление и легенда генерится в техе. Возможно в матплотлибе есть что то похожее.

AntonI ★★★★★
()
Ответ на: комментарий от Evgueni

Не не, это я и так использую. Ну да, тут вот как выше подсказали, видимо остаётся pgf. Но мне то хочется всё таки иметь график у pdf, а табличку со всеми треугольничками, кружочками и пр. маркерами — как-то отдельно, в виде .tex.

thunar ★★★★★
() автор топика
Последнее исправление: thunar (всего исправлений: 2)
Ответ на: комментарий от thunar

Обычно то на что циферки ссылаются не только циферки но и много всяких букофф.

У меня обычно рисунки бол-мен самодостаточные поэтому описывать там много чего приходится

AntonI ★★★★★
()
Ответ на: комментарий от AntonI

Ну я делаю верификацию кода сейчас. Вот у меня банально есть моя кривая — и всякие треугольнички и кружочки с экспериментов, и всё что нужно в легенде — это \cite{somestuff} к конкретному маркеру.

thunar ★★★★★
() автор топика