我有一个nx3
数组,我们称之为data
,我希望前两列为x
和y
坐标,第三列为z
坐标与同一行中的x
和y
坐标相关联。
我现在想绘制曲面与所有z
坐标相交的曲面图。
我看过this帖子,但无法弄明白。
我知道我可以使用matplotlib的Axes3D
和fig.gca(projection='3d')
,并且需要3个nxn
数组,我认为X
和{{1}可以使用Y
获取数组,但如果每个{{1}只有1个X,Y = np.meshgrid(data[:,0],data[:,1])
坐标,我不知道如何获取nxn
Z
数组}和Z
。
然后,我想平滑表面,因为我确信只有少量数据点的表面看起来很难看,而我只想表示数据的一般形状,并且具体值不是。太重要了。那么,有没有办法在2维中的数据点之间进行插值以使图形平滑?
示例数据集:
x
答案 0 :(得分:1)
试试这样:
x, y, z = data[:,0], data[:,1], data[:,2]
grid_x, grid_y = np.mgrid[min(x):max(x):50j, min(y):max(y):50j]
z = griddata((x, y), z, (grid_x, grid_y), method='cubic')