Как использовать GnuPlot для построения графика временных рядов из даты и времени файла CSV, хранящихся в отдельных столбцах?

Давайте возьмем это как файл данных:

2012-06-01, 01:00, 1
2012-06-01, 02:00, 2
2012-06-01, 03:00, 4
2012-06-01, 04:00, 3
...
2012-06-02, 01:00, 5
2012-06-02, 02:00, 2
2012-06-02, 03:00, 1
2012-06-02, 04:00, 1
...

Я знаю, как установить timefmt и xdata для построения временного ряда, когда дата и время представлены одним полем, но как построить это с помощью GnuPlot, когда время и дата хранятся в отдельных столбцах?

Ответ 1

Не так, как если бы они были пробелами, не было бы иначе...

set timefmt '%Y-%m-%d, %H:%M'
set xdata time
set datafile sep ','
plot 'test.dat' u 1:3 w lines

Я не знаю, использовали ли вы timefmt с пробелами в нем (для обычного пространства, разделенного файлами данных), но в этом случае вы указываете столбец, в котором начинаются данные времени - gnuplot автоматически просматривает, однако, много столбцов он должен заполнить полный формат времени. Конечно, вам нужна полная спецификация использования (в этом случае это означает, что данные находятся в третьем столбце - заметьте, а не второй, как вы могли бы ожидать).

(проверено на gnuplot 4.4 - OS X)

Ответ 2

Запуск Arch Linux Gnuplot 4.6 patchlevel 3

Я не мог получить фрагмент кода mgilson для работы. Мне нужно было установить xrange, прежде чем он перестанет жаловаться

all points y value undefined!

Мне пришлось

set xrange["2012-06-01, 01:00":"2012-06-02, 05:00"]

и, наконец, получил красивый сюжет