有哪些好的、维护良好的软件包可以将 matplotlib 图转换为 Tikz 文件以包含在 latex 文档中?
答案1
tikzplotlib
(以前称为matplotlib2tikz
)使用该包创建 LaTeX 代码pgfplots
。它在 Pypi 上可用,因此可以使用 进行安装pip
。
基本上是
import tikzplotlib
进而
tikzplotlib.save('filename.tex')
生成图形后。在 LaTeX 文件中添加
\usepackage{pgfplots}
序言部分,
\input{filename}
添加图形。
该tikzplotlib.save
函数有多个修改代码的选项,因此请查看其文档字符串。
答案2
matplotlib
支持导出到 PGF(Ti 背后的图形语言钾Z) 或者直接通过 LaTeX 构建绘图并将其保存为 PDF。
要使用此功能,只需在 Python 代码中使用以下内容:
import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.use("pgf")
# create your plot
plt.savefig("file.pgf") # save as PGF file which can be used in your document via `\input`
plt.savefig("file.pdf") # save as PDF created with LaTeX
您可以通过 自定义 PDF/PGF 的输出mpl.rcParams.update()
,它需要一个字典作为参数,您可以使用该字典为创建的 PDF/PGF 设置几个有趣的参数:
{
"pgf.texsystem": "pdflatex", # or any other engine you want to use
"text.usetex": True, # use TeX for all texts
"font.family": "serif",
"font.serif": [], # empty entries should cause the usage of the document fonts
"font.sans-serif": [],
"font.monospace": [],
"font.size": 10, # control font sizes of different elements
"axes.labelsize": 10,
"legend.fontsize": 9,
"xtick.labelsize": 9,
"ytick.labelsize": 9,
"pgf.preamble": [ # specify additional preamble calls for LaTeX's run
r"\usepackage[T1]{fontenc}",
r"\usepackage{siunitx}",
],
}