matplotlib传奇中的乳胶引文

时间:2013-08-01 18:11:08

标签: python matplotlib latex

我正在使用带有matplotlib的Python生成技术论文的数据。有没有办法在图例文本中包含Latex / Bibtex引文?理想情况下,我想要一个类似下面的解决方案,但没有发现任何有效的方法:

import numpy as np
import matplotlib as mp
import matplotlib.pyplot as plt

x = np.linspace(0., 1., num=100)
y = x**2

plt.plot(x, y, label=r'Data \cite{<key>}')
plt.legend(loc=0)
plt.show()

2 个答案:

答案 0 :(得分:9)

这可以使用matplotlib pgf后端进行python。用于生成图形的python文件如下:

import numpy as np
import matplotlib as mpl
mpl.use('pgf')
import matplotlib.pyplot as plt

x = np.linspace(0., 1., num=100)
y = x**2

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

然后可以将pgf文件用于乳胶纸中:

\documentclass[letterpaper,10pt]{article}
\usepackage[utf8x]{inputenc}
\usepackage{pgf}

\begin{document}

  \begin{figure}
    \centering
    \input{fig.pgf}
    \caption{Test Figure}
  \end{figure}

\end{document}

每当编译乳胶文件时,图例中的引文都会自动更新。

答案 1 :(得分:0)

签出matplotlib2tikz(属于我的项目)。您可以使用它将matplotlib图形保存为TikZ / Pgfplots,其中保留了很多信息,并且很容易编辑。将BibTeX引用添加为图例根本没有问题。