2015-06-23 2 views
2

Мне нужно построить два файла данных на одном и том же графе с помощью gnuplot. Первый файл данных, как:Запланируйте два файла в gnuplot с разным timefmt

2015-02-10 10.1 
2015-02-15 12.1 
2015-02-20 16.1 
2015-02-25 14.1 
... 

и второй файл данных, как

2015-02-10-10:00 12.5 
2015-02-10-15:00 21.4 
2015-02-15-12:30 08.3 
2015-02-15-22:00 09.3 
2015-02-20-08:15 12.8 
2015-02-20-17:32 16.7 
2015-02-25-07:20 14.0 
2015-02-25-21:39 14.5 
.. 

Для разбора первого файла данных, timefmt должен быть установлен в "%Y-%m-%d" и для второго файла он будет "%Y-%m-%d-%H:%M" , Однако, поскольку оба файла данных должны быть связаны друг с другом, как правильно определить timefmt?

ответ

2

С verrsion 4.6 и более ранних версий необходимо разобрать даты-строки «вручную» с strptime:

set xdata time 
plot 'file1.dat' using (strptime('%Y.%m.%d', strcol(1))):2,\ 
    'file2.dat' using (strptime('%Y.%m.%d-%H:%M', strcol(1))):2 

С GNUPLOT версии 5 вы можете напрямую дать формат времени для функции timecolumn, так что вы можете использовать в качестве много форматов, как вы хотите:

set xdata time 
plot 'file1.dat' using (timecolumn(1, '%Y.%m.%.d')):2,\ 
    'file2.dat' using (timecolumn(1, '%Y.%m.%d-%H:%M')):2 

в вашем случае разница между этими двумя вариантами является маргинальной, но когда дата время распространяется более одного столбца в файле данных, то последний вариант гораздо более comfortab le, так как timecolumn обрабатывает несколько столбцов автоматически.

+0

Отлично. Отлично работает. –

Смежные вопросы