3

次のような等高線グラフを生成するにはどうすればよいですか

ポイントが通常のグリッド上にある場合は簡単ですが、私の例のようにそうでない場合はどうなるでしょうか? 各ピクセルの色を決定するためのかなり単純なアルゴリズムはありますか?

4

5 に答える 5

3

少し遅いかもしれませんが、

ただし、matplotlib の新しいバージョンでは、データをグリッド化できます。

http://www.scipy.org/Cookbook/Matplotlib/Gridding_irregularly_spaced_data

多分それは役立つ

于 2011-04-22T06:41:36.043 に答える
2

中間点を取得するために使用できる補間アルゴリズムは多数あります。私が GIS で使用したのはクリギング アルゴリズムで、投稿したデータは似たようなものを使用しているようです。(たとえば、線形補間の場合、「ホット イエロー」スポットが黄色のサンプルの中心にないため、わかります)

ウィキペディアのバイキュービック補間ページには、異なる補間を選択した場合の効果の良い例がいくつかあります。

データが異なれば、異なる補間が必要になる場合があります。

次に、Gnuplotを使用します。

ここで説明されているように、色の輪郭を作成します。

長方形以外のデータを処理できるように見えますが、その仮定をテストします。

例:

GnuPlot 等高線画像の例
(出典: lanl.gov )

于 2009-11-18T19:28:49.787 に答える
1

ここから

Origin の XYZ 等高線グラフを使用すると、XYZ データを行列に変換することなく、等高線図を作成できます。これは、三角測量と呼ばれる補間の形式を使用します。

三角形分割は、サーフェスまたは平面ポリゴンを一連の三角形に分割することであり、通常、各三角形の辺は 2 つの隣接する三角形によって完全に共有されるという制限があります。三角形分割には、まばらなデータと不規則なデータを処理できるという追加の利点があります。

難しいように聞こえますが、実行可能です。

于 2009-11-18T19:25:59.723 に答える
1

表示されている画像は、従来の等高線図ではありません。関数 pcolor が散らばったデータに直接作用する場合、これは本質的に matlab が関数 pcolor で生成する可能性があるものです。実際には、pcolor は、view(0,90) を呼び出すだけの surf です。

等高線図を本当に見たい場合、最も簡単な答えは、ファイル交換にあるtricontourを使用することです。このツールは、散乱データを三角測量し、等高線図を生成します。

散在するデータセットで pcolor のような解を生成したい場合、単純な解は delaunay を使用してデータを三角測量し、trisurf を呼び出すことです。呼び出しは漠然とこのように見えるかもしれません...

tri = delaunay(x,y);
trisurf(tri,x,y,z)
view(0,90)

確かに、このソリューションでは、元の図のようにきれいに円形に着色されたドメインは得られません。そのためには、他のより洗練されたソリューションが必要になります。しかし、上で提案した解決策が受け入れられるかどうかはまだわからないので、ここでやめておきます。

于 2009-11-18T22:37:49.423 に答える
0

2D 補間を検索します。単純なアルゴリズムがいくつかありますが、うまく機能しない (または計算に時間がかかる) 場合があります。

于 2009-11-18T19:24:31.287 に答える