Статистика gnuplot с данными о времени (преобразованная из строки в число с плавающей запятой) не работает как один аргумент

У меня есть файл данных с данными времени в виде одного столбца. Поскольку команда stats несовместима с данными о времени (Stats command not available in timedata mode), мы должны сначала выполнить некоторое преобразование:

set xdata
stats 'data' u (strptime(fmt,strcol(1)))

однако это не работает. gnuplot выводит следующую ошибку: All points out of range

Не знаю почему, но у меня возникла идея использовать вторую искусственную колонку:

stats 'data' u (strptime(fmt,strcol(1))):(1.0)

Это работает как задумано (почему?), но с ненужным вторым столбцом. Для меня этот «обходной путь» подходит, потому что у меня нет файлов с большими данными для построения, но если бы у людей были... Это может быть довольно раздражающим.

Я что-то упустил?
Почему gnuplot stats ведет себя таким образом?
Является ли это ошибкой, о которой стоит сообщить?


person nox    schedule 30.01.2016    source источник


Ответы (1)


Вероятно, вы установили диапазон y перед вызовом команды stats. Если вы вызываете stats с одним столбцом, данные обрабатываются как y-столбец. Во втором вызове вы указываете явный второй столбец, а данные времени обрабатываются как x-столбец.

Вызов

reset
fmt = "%Y..."
stats 'data' u (strptime(fmt,strcol(1)))

должно работать нормально.

person Christoph    schedule 30.01.2016
comment
Ничего себе, понимание сообщений об ошибках так важно. Это решило: D спасибо! - person nox; 30.01.2016
comment
Сначала я нашел это нелогичным, но plot "data" using 1 также рассматривает этот столбец как y-данные. В документации 5.0 этот момент был разъяснен. - person Christoph; 30.01.2016