保存和导出使用 TeX 的图

为了在 TeX 文档中包含使用 matplotlib 创建的图,它们应保存为 pdfeps 文件。这样,绘图中的任何文本(包括 TeX 公式)都将在最终文档中呈现为文本。

import matplotlib.pyplot as plt
plt.rc(usetex=True)
x = range(0, 10)
y = [t**2 for t in x]
z = [t**2+1 for t in x]
plt.plot(x, y, label=r'$\beta=\alpha^2$')
plt.plot(x, z, label=r'$\beta=\alpha^2+1$')
plt.xlabel(r'$\alpha$')
plt.ylabel(r'$\beta$')
plt.legend(loc=0)
plt.savefig('my_pdf_plot.pdf')  # Saving plot to pdf file
plt.savefig('my_eps_plot.eps')  # Saving plot to eps file

可以使用 pgf 宏包将 matplotlib 中的绘图导出为 TeX 代码以显示图形。

import matplotlib.pyplot as plt
plt.rc(usetex=True)
x = range(0, 10)
y = [t**2 for t in x]
z = [t**2+1 for t in x]
plt.plot(x, y, label=r'$\beta=\alpha^2$')
plt.plot(x, z, label=r'$\beta=\alpha^2+1$')
plt.xlabel(r'$\alpha$')
plt.ylabel(r'$\beta$')
plt.legend(loc=0)
plt.savefig('my_pgf_plot.pgf')

使用 rc 命令更改使用的 TeX 引擎

plt.rc('pgf', texsystem='pdflatex')  # or luatex, xelatex...

要包含 .pgf 图,请在 LaTeX 文档中写入

\usepackage{pgf}
\input{my_pgf_plot.pgf}