最佳 matplotlib 到 Tikz 转换工具

最佳 matplotlib 到 Tikz 转换工具

有哪些好的、维护良好的软件包可以将 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}",
    ],
}

相关内容