2013-08-01 52 views
10

我正在使用matplotlib使用Python生成技术文章的数字。有没有一种方法可以在图例文本中包含Latex/Bibtex引用?理想情况下,我想一个解决类似下面的,但没有发现任何的作品:matplotlib中的乳胶引用图例

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() 
+0

你将不得不手动输入引用,所以为什么不把它标记为''数据引用。 [#]''? – wflynny

+0

我们psfrag https://en.wikipedia.org/wiki/PSfrag – tacaswell

+0

我在我的论文中使用了这一点,并且引用数字频繁变化,不断更新数字变得麻烦。 – LWhitson2

回答

9

这可以使用Python中matplotlib PGF后台来完成。用于产生图中的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

不错!很高兴知道它的作品!我想我将来必须使用这个技巧... –