使用scipy和matplotlib对散乱的3D数据进行插值和绘制轮廓

时间:2017-11-29 17:26:17

标签: python matplotlib multidimensional-array interpolation contour

我在散射网格上有三维有限元计算的结果。 我想用python在水平平面上插入这些数据,并使用matplotlib在该平面上绘制结果的轮廓。 输出文件results.dat包含6列,即x,y,z坐标和三个位移分量。我对第三个组件感兴趣。 我想插入一个100 x 100矩形网格,从(-50,10)到(50,110)并位于z = -5。 我想到了以下几种可能性:

import numpy as np
from scipy.interpolate import grid data

res = np.loadtxt('results.dat')
points = res[:,0:3]
values = res[:,-1]
xi,yi,zi = np.mgrid[-50.:50.:101j,10.:100.:101j,-5:-5:1j]

gridres = griddata(points, values, (xi, yi, zi))

为了检查结果是否正确,我应该能够绘制类似

的轮廓图
plt.contour(xi,yi,griddata)

但是我无法以plt.contour所需的格式处理xi,yi和griddata

0 个答案:

没有答案