2017-02-27 5 views
0

データは規則的に配置されていますが、グリッドではありません。ポイントの各行は、下のものと少しずれています。Python - データのオフセットグリッドプロットの問題

データは3つの1D配列x、y、zの形であり、各インデックスは点に対応しています。ほぼガウス的なデータをスムーズに変化させます。

点密度はかなり高いです。このデータをプロットする最良の方法は何ですか?

私はmeshgridを試しましたが、輪郭の値の近くにデータポイントのない領域にいくつかの悪い輪郭があります。

私はこの記事によるとRBF補間を試してみました: Python : 2d contour plot from 3 lists : x, y and rho? が、これは単に私のナンセンスを与える - すべての輪郭が一つの縁にある - のすべてのデータを反映していません。

私が試すことができる他のアイデア。たぶん、私は最近接の補間のいくつかの並べ替えを使用する必要がありますか? http://imgur.com/a/b00R6

私はこのような困難を引き起こしているのに驚いています。プロットするのはかなり簡単なようです。

答えて

1

グリッド化されていないデータをプロットする最も簡単な方法は、おそらくtricontourまたはtricontourf(塗りつぶしトリコントールプロット)です。

Xの1次元アレイを有する、YおよびZは、あなたは、単に

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

は輪郭のnレベルを得るために呼び出すだろxyzを調整します。

もう1つの簡単な方法は、matplotlib.mlab.griddataを使用してグリッドを補間して、不規則点から規則的なグリッドを得ることです。

どちらの方法でも、matplotlibのページ上の例では、比較されています Tricontour vs. griddata

-1

答えが見つかりました:私のデータを再スケールする必要がありました。

+0

これは答えではなく、この質問を読んでいる人にとっては全く役に立たない。どちらかといえば、問題を解決するのに「リスケーリング」がどのように役立ったかを詳しく説明するか、他の人にとっては面白くて役立つかもしれないし、8つの単語を削除することです。 – ImportanceOfBeingErnest

+0

謝罪!データの1軸は1e6の次数を有していた。統一を命じるためにこれらを再スケーリングすると(予期せず?)、問題が解決されました。私はそれ以来script.interpolate.Rbfに切り替えました。これははるかに優れています。 – Tom