11

我正在使用 Python 和 matplotlib 为技术论文生成数字。有没有办法在图例文本中包含 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()
4

2 回答 2

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}

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

于 2013-08-02T17:14:37.807 回答
2

查看tikzplotlib(我的一个项目)。您可以使用它将 matplotlib 图形保存为 TikZ/Pgfplots,它保留了大量信息并且非常易于编辑。添加 BibTeX 引用作为图例完全没有问题。

于 2019-03-19T20:40:00.543 回答