是否可以将 3D 图表从 MatPlotLib 导出到 TikZ?

Is it possible to export 3D charts from MatPlotLib to TikZ?

我正在尝试使用 import tikzplotlib 将 3D 图从 Matplotlib 导出到 TikZ。这是在Jupyter NoteBook中执行的代码:

from mpl_toolkits import mplot3d
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = plt.axes(projection='3d')
z = np.linspace(0, 1, 100)
x = z * np.sin(20 * z)
y = z * np.cos(20 * z)
ax.plot3D(x, y, z, 'gray')
ax.set_title('Intentando con 3D')
plt.show()

import tikzplotlib

tikzplotlib.save("papon.tex")
tikzplotlib.Flavors.latex.preamble()

生成的 papon.tex 文件在编译时显示如下:

% This file was created by tikzplotlib v0.9.8.
\begin{tikzpicture}

\end{tikzpicture}

缺少任何配置或代码修改?或者,简单地说,是否无法将具有这些特征的 3D 图表正确导出到 TikZ?

两个问题的答案都是

第一个问题是您在 show 之后保存图形, 消耗 绘图,然后保存一个空的新绘图。当您删除以下行时,该图将被导出:

plt.show()

但是,第二个问题确实不支持3d图。见 the tikzplotlib documentation:

Of course, not all figures produced by matplotlib can be converted without error. Notably, 3D plots don't work.

上面示例的输出如下所示,tikz 输出是二维图。所以没有快速的解决方案将其变成所需的情节: