Как использовать 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"]
и, наконец, получил красивый сюжет