我正在使用带有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()
答案 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引用添加为图例根本没有问题。