matplotlib 3D数据的2D切片

bob*_*nto 6 python plot matplotlib surface scipy

我没有找到任何关于此的内容,可能是因为我没有正确的命名法(即我不知道确切地如何要求它),但是无论如何,我都有一个3D numpy数组“ a”。我想识别并绘制a = 0的2D曲面。要弄清楚,数据是双精度浮点,在3D空间上平滑变化。曲面a = 0很有可能会“穿插”在数组的各个点之间,而并不完全恰好位于其中的任何一个点上。所以我需要可以插值的东西来找到a = 0曲面并将其绘制出来。matplotlib是否有现成的例程可以执行此操作?

xec*_*afe 5

使用Plotly,您可以在体积数据中绘制平面切片和非线性切片:http : //nbviewer.jupyter.org/github/empet/Plotly-plots/blob/master/Plotly-Slice-in-volumetric-data.ipynb


mic*_*ard 3

要“识别并绘制 a=0 处的 2D 表面”,您只需对其中的数据进行子集化a=0并绘制(如下所示)。如果您正在寻找数据到该平面上的投影,那么这就有点复杂了。

threeD = np.array([(x,y,z) for x in [0,1] for y in [1,2] for z in [5,6]])
twoD = np.array([(y,z) for (x,y,z) in threeD if x==0])
y,z = zip(*twoD)
plt.plot(y,z, 'o')
plt.xlim(0,3)
plt.ylim(0,7)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述