使用Python/Mayavi从x,y,z插值绘制2D垂直平面
我有三个numpy数组,如下所示:
import numpy as np
from mayavi import mlab
x = np.arange(0,101,1)
a = np.arange(0,51,1)
b = np.arange(51,76,0.5)
z = np.hstack((a,b))
y = np.zeros(x.shape)
values = np.random.random(x.shape)
这些数组定义了一个我想绘制成颜色图的垂直平面。有没有什么办法可以用Mayavi和Python来实现这个?
我根据这个示例尝试了不同的方法,但我卡在了平面是垂直的这个问题上...
1 个回答
0
也许我没有完全理解你的问题,但我似乎无法找到你描述的3D数据;在你的代码中,values
是一个一维数组。所以我这里举个我自己编的例子:
import numpy as np
import matplotlib.pyplot as plt
如果你有一个包含随机数据的3D数组:
data = np.random.normal(loc=100,scale=10,size=(101,101,101))
而你想要获取一个在y=0位置的2D切片的颜色图,你可以使用imshow
,不需要用mayavi:
plt.imshow(data[:,0,:],cmap='Reds')
这样就能得到(在这个例子中是随机噪声):