0

最初の 2 列は x 座標と y 座標で、次にプロットする必要がある他のデータを含むいくつかの列があります。このデータを表すカラー マップを取得したいのですが、点が散在しているため、 dgrid3dを使用して規則的なグリッドを生成し、表現を滑らかにしています。私の問題は、dgrid3dを設定すると、gnuplot が x と y の範囲を無視し、図のフレームの外側にグリッドをプロットすることです。以下は、私の問題を再現するための最小限のスクリプトです。

set view map
set yrange [0.4:0.8]
set xrange [0.2:0.8]
set pm3d 
set style data lines
set dgrid3d 100,100,4
splot "./Terr.dat" using 1:2:(log($6)) pal

私が得た結果は次の画像です。 ここに画像の説明を入力

pm3dのオプションclip1inまたはclip4inを設定しても効果はありません。結果が 3D サーフェスになるようにビューの設定を解除 すると、x と y の範囲も無視されます。データを前処理し、必要な範囲外のポイントを削除するスクリプトを簡単に作成できますが、gnuplotはこれを管理できるはずです。何か案が?

gnuplot 4.2 パッチレベル 6を使用しています

ありがとう!

4

1 に答える 1

1

問題を再現できるかどうかはわかりませんが、スクリプトにはいくつかおかしな点があります。set style data linesでプロットしているため、このコンテキストで行が何をすべきか正確にはわかりませんpm3d。簡単なデータファイルを作成しました:

0 1 4
1 0 5
0 0 2
1 1 3

そして、このスクリプトを使用してプロットしました:

set view map
set yrange [0.4:0.8]
set xrange [0.2:0.8]
set dgrid3d 100,100,4
splot 'test.dat' u 1:2:3 w pm3d

そして、それは「うまくいく」ように見えました(私はgnuplot 4.6.0を使用しています)。

シンプルなイメージ

ただし、注意すべき点がいくつかあります。元のドメインのすべてのポイントが、指定された x と y の範囲外であることに注意してください。Gnuplot は、サーフェスを構築するときにこれらのポイントを引き続き使用しました。これはまた、gnuplot の重み付け関数がどのように見えるかを合理的にうまく示しています (ただし、データ ファイルで 1 つのポイントのみを使用することで、さらにうまくいく可能性があります)。


アップデート

私の 2 台のコンピュータ間で、gnuplot4.2.6、gnuplot4.3.0、gnuplot4.4.2、gnuplot4.6.0、gnuplot4.6.1、および gnuplot4.7.0 にアクセスできます。gnuplot4.2.6 は、説明した動作を示す唯一のバージョンです。彼らは 4.3 CVS ブランチで pm3d の動作を変更したように見えますが、それらの変更を gnuplot4.2 にプッシュしませんでした。簡単な修正は、gnuplot4.6 にアップグレードすることです -- 私はこれをデフォルトの gnuplot として数か月間使用してきましたが、かなり安定しているようです。

于 2013-01-29T13:09:07.417 に答える