如何使用 tikzplotlib 导出 3D 绘图并将其导入 LaTeX?

问题描述

考虑以下代码(改编自 here):

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
import tikzplotlib

r=np.linspace(0,1,11)
theta=np.linspace(0,2*np.pi,11)
R,Theta=np.meshgrid(r,theta)
X,Y=R*np.cos(Theta),R*np.sin(Theta)
Z=R*np.sin(Theta)*np.cos(Theta)

fig=plt.figure(1)
plt.clf()
ax=fig.add_subplot(projection='3d')
ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap=cm.inferno,linewidth=0)
ax.set_xlabel('test here')
plt.show()

tikzplotlib.save("testfigure.tex")

给出下图:

enter image description here

当我在 LaTeX 文件中导入文件 testfigure.tex 时,替换后

\begin{axis}[
hide x axis,hide y axis,

\begin{axis}[
width=10cm,width=10cm,

我得到了这个结果:

enter image description here

为了获得 Python 图中的轴,我该怎么做?或者这对于 tikzplotlib 来说根本不可能?

解决方法

tikzplotlib 的 Github 自述文件指出不支持 3D 绘图(2021)。

Tikzplotlib - Github