Python:3个列表中的2d等高线图

时间:2015-11-09 20:44:50

标签: python plot

这是此主题的后续行动: Python : 2d contour plot from 3 lists : x, y and rho?

我基本上复制了如下所示的代码,但为我的应用程序找到了2个剩余的问题:

  1. 可能因为z数据彼此如此接近,我得到了一个类似a plot here的情节,这似乎不正确。
  2. 我还想绘制x,y范围从-50到50的地图,这可能需要外推? 任何人都可以帮助他们吗?非常感谢!
  3. def contour2d(xlist, ylist, zlist):
    
        x = np.array(xlist)
        y = np.array(ylist)
        z = np.array(zlist)    
        xi, yi = np.linspace(x.min(), x.max(), 100), np.linspace(y.min(), y.max(), 100)
        xi, yi = np.meshgrid(xi, yi)
    
        rbf = scipy.interpolate.Rbf(x, y, z, function='linear')
        zi = rbf(xi, yi)
        print zi
    
        plt.imshow(zi, vmin=z.min(), vmax=z.max(), origin='lower',
               extent=[x.min(), x.max(), y.min(), y.max()])
    
        plt.scatter(x,y,c=z)
        plt.colorbar()
        plt.show()
    
    x = [0,20.506,20.506,-20.506,-20.506,41.012,41.012,-41.012,-41.012]
    y = [0,-20.506,20.506,20.506,-20.506,-41.012,41.012,41.012,-41.012]
    z = [1.45905, 1.45874, 1.45861, 1.45914, 1.45909, 1.4584, 1.45793, 1.45883, 1.45863]
    contour2d(x,y,z)
    

0 个答案:

没有答案