用matplotlib,Python表面绘图

时间:2015-02-23 16:48:51

标签: python matplotlib plot

我有一个nx3数组,我们称之为data,我希望前两列为xy坐标,第三列为z坐标与同一行中的xy坐标相关联。

我现在想绘制曲面与所有z坐标相交的曲面图。

我看过this帖子,但无法弄明白。

我知道我可以使用matplotlib的Axes3Dfig.gca(projection='3d'),并且需要3个nxn数组,我认为X和{{1}可以使用Y获取数组,但如果每个{{1}只有1个X,Y = np.meshgrid(data[:,0],data[:,1])坐标,我不知道如何获取nxn Z数组}和Z

然后,我想平滑表面,因为我确信只有少量数据点的表面看起来很难看,而我只想表示数据的一般形状,并且具体值不是。太重要了。那么,有没有办法在2维中的数据点之间进行插值以使图形平滑?

示例数据集:

x

1 个答案:

答案 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')