2017-02-27 80 views
0

我的數據是有規律的間隔,但不是一個網格 - 每一行點稍微偏離下面的一個。Python - 問題等高線繪製數據的偏移網格

數據的形式是3個1D數組,x,y,z,每個索引對應一個點。它是平滑變化的數據 - 近似高斯。

點密度相當高。繪製這些數據的最佳方式是什麼?

我嘗試了meshgrid,但是它給了我一些輪廓值附近沒有數據點的區域的輪廓不好。

我照着這篇文章試圖RBF插值: Python : 2d contour plot from 3 lists : x, y and rho? 但這只是給我廢話 - 所有的輪廓是在一個邊緣 - 完全不反映數據。

任何其他的想法,我可以嘗試。也許我應該使用某種最近鄰插值?這裏是我的數據點的1/4左右的圖片:http://imgur.com/a/b00R6

我很驚訝它導致我這樣的困難 - 它似乎應該是相當容易繪圖。

回答

1

繪製未分割數據的最簡單方法可能是tricontourtricontourf(填滿三圍的圖)。

具有X的一維數組,Y,Z座標xyz,你只需撥打

plt.tricontourf(x,y,z, n, ...) 

獲得n水平輪廓。

另一種快速方法是使用matplotlib.mlab.griddata在網格上進行插值以從不規則點獲得規則網格。

這兩種方法在matplotlib頁面上的例子進行比較: Tricontour vs. griddata

-1

找到了答案:要重新調整我的數據需要。

+0

這不是一個答案,另外完全沒有用的閱讀這個問題的其他人。你要麼詳細解釋「重新標定」是如何幫助你解決問題的,這對其他人來說可能是有趣和/或有用的,或者你刪除了這八個單詞。 – ImportanceOfBeingErnest

+0

道歉!數據的一個軸的順序爲1e6。縮小這些以秩序統一(意外?)解決了這個問題。自從我切換到script.interpolate.Rbf後,我發現它好得多。 – Tom