微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我正在尝试使用 Matplotlib 将 3D 图表从 TikZ 导出到 import tikzplotlib。这是在 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

解决方法

这两个问题的答案都是

第一个问题是您在 <template> <v-container id="title" fill-height style="height: 100vh"> <v-row align="center" justify="center"> <v-col cols="12"> <Logo /> </v-col> </v-row> </v-container> </template> <script> import Logo from "../components/logo.vue"; export default { name: "Title",components: { Logo,},}; </script> 之后保存图形,它消耗该图,然后保存一个空的新图。当您删除以下行时,该图将被导出:

show

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

当然不是所有matplotlib生成的图形都可以转换 没有错误。值得注意的是,3D plots don't work

上面示例的输出如下所示,tikz 输出是二维图。所以没有快速的解决方案可以把它变成想要的图:

Example output

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。