问题描述
我正在尝试使用 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()
% 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 输出是二维图。所以没有快速的解决方案可以把它变成想要的图: