大多數pyplot示例使用線性數據,但如果數據是分散的呢?
x = 3,7,9
通過python的matplotlib.pyplot.contourf分散x,y,z
y = 1,4,5
z = 20,3,7
爲contourf
xi = np.linspace(min(x)-1, max(x)+1, 9)
yi = np.linspace(min(y)-1, max(y)+1, 9)
X, Y = np.meshgrid(xi, yi)
更好meshgrid現在, 「Z」 的數據一定要進行插值到meshgrid。
numpy.interp
做一點幫助在這裏,而下方的
zi = matplotlib.mlab.griddata(x,y,z,xi,yi,interp="linear")
同時返回線性和NN interpolaton比較奇怪的結果
scipy.interpolate.griddata
立方米從第二個答案需要別的東西返回的數據,而不是尼爾斯
隨着自定義水平的數據預計看起來like this
什麼是你的問題? –
問題是如何通過contourf(通過自定義級別填充顏色,無輪廓)顯示此數據(網格+數據),並稍後將其應用於mpl_toolkits'具有shapefile的底圖,但這是另一步。 – dd11
你卡在什麼位?正如我在下面描述的那樣,您只需要使用'masked arrays'。如果你想填充輪廓,只需添加'CS2 = plt.contourf(X,Y,Z,20)'。 – fraxel