2013-08-01 51 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

不錯!很高興知道它的作品!我想我將來必須使用這個技巧... –