matplotlib 保存和导出使用TeX的图

示例

为了在TeX文档中包括使用matplotlib创建的图,应将其另存为pdf或eps文件。这样,绘图中的任何文本(包括TeX公式)都会在最终文档中呈现为文本。

importmatplotlib.pyplotas 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代码以显示图形。

importmatplotlib.pyplotas 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}