web-dev-qa-db-ja.com

gnuplotで最小値と最大値を決定します

私はgnuplotを初めて使用し、データファイルから最小値と最大値を決定し、その後データをプロットしようとしています。

これまでのところ、私はこのように最小値と最大値を決定することができました:

# Define two helper functions
ismin(x) = (x<min)?min=x:0
ismax(x) = (x>max)?max=x:0

# Initialise the 'global' vars
max=-1e38
min=1e38

plot "Data.txt" u 0:(ismin($3)*ismax($3))

問題は、splotを使用してデータをプロットしようとしているのに、機能しないことです。

私はこれを試しています:

splot \
'Data.txt' u 2:1:3 with pm3d t '',\

最小値と最大値の決定に関連する部分を削除すると、splotコマンドが機能します。

助言がありますか?

12
DCuser

statsコマンドを調べてください。

stats 'datafile' using 3

たとえば、3番目の列(zデータ)の統計を取得し、それらを変数に格納します(STATS_minおよびSTATS_maxが必要な場合があります)。作成されたすべての変数を表示するには、次のように入力します

show variables all

statsを実行した後。 statsのない古いバージョンのgnuplotを使用している場合は、出力を作成せずにファイルをプロットできます。gnuplotは、最小/最大を含むいくつかのDATA_プレフィックス付き変数を自動的に定義します。 statsコマンドは、プロットする前にデータを取得するためにnull出力を定義する手間を省きます。

18
andyras