1

3D の同じグラフに 2 つの異なるデータ セットをプロットしたいと思います。これは簡単に行うことができます

splot 'foo.dat','bar.dat'

残念ながら、私は滑らかにしたいfooのでdgrid3d、グリッドを設定していました。同時に、barドットを表示したいだけです(foo実際には の補間でありbar、ノットをプロットしたいと思います)。したがって、私は使用しました

set dgrid3d 20,20
splot 'foo.dat' w l, 'bar.dat' w points

残念ながら、これdgrid3dは両方のデータセットに適用されます...コマンドで設定を解除するか、別のトリックを使用してこの問題を解決することは可能dgrid3dですsplotか?

4

1 に答える 1

4

別のトリックが必要になります。そのトリックはset table

set terminal push           #save terminal info
set terminal unknown        #null terminal
set table 'foo_gridded.dat' #temporary file to store the data
set dgrid3d 20,20   
splot 'foo.dat'
unset table                 #close temporary file
unset dgrid3d
set terminal pop            #restore terminal info
splot 'foo_gridded.dat' w l, 'bar.dat' w points  #make the plot we want
!rm foo_gridded.dat         #Optional, remove temporary file (Only works on Unix-like systems)

set tableは基本的に、gnuplotが読み戻すためにフォーマットされたテキストファイルにデータを「プロット」します。これは非常に便利です。最終的には、上記のようなあらゆる種類の(醜い)小さなハックを作成することが目的だと思います。したがって、gnuplotの開発者はプロットタイプの衝突について心配する必要はありません。(私はこれを使用して、pm3dマップの上に等高線をプロットします)。

于 2012-05-15T12:49:03.543 に答える