使用Python/Mayavi从x,y,z插值绘制2D垂直平面

0 投票
1 回答
554 浏览
提问于 2025-04-18 16:31

我有三个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')

这样就能得到(在这个例子中是随机噪声):

enter image description here

撰写回答