Определить минимум и максимум в 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 сработает.

Какие-либо предложения?


person DCuser    schedule 20.02.2013    source источник
comment
Возможный дубликат gnuplot: максимальное и минимальное значения в диапазоне   -  person sancho.s ReinstateMonicaCellio    schedule 17.11.2017


Ответы (1)


Посмотрите на команду stats:

stats 'datafile' using 3

например, получит статистику по 3-му столбцу (данные z) и сохранит их в переменных (может быть STATS_min и STATS_max то, что вы хотите). Чтобы просмотреть все созданные переменные, введите

show variables all

после запуска stats. Если у вас более старая версия gnuplot без stats, вы можете построить файл без создания вывода, а gnuplot автоматически определяет некоторые переменные с префиксом DATA_, включая min/max. Команда stats избавляет от необходимости определять нулевой вывод для получения данных перед построением графика.

person andyras    schedule 20.02.2013
comment
отлично .. спасибо ... Я искал это .. В Gnuplot 4.6 добавлено несколько действительно замечательных функций ... - person Abhinav; 18.10.2013