2013-07-31 3 views
1

Я пытаюсь создать график, который показывает две строки из двух разных источников данных - которые являются временными рядами. Моя проблема заключается в том, что у одного источника есть данные за каждый день, а у другого - спорадические данные (и начинается позже). Как на следующем рисунке:Построение только общих данных в серии данных с GNUPlot

enter image description here

Я использую следующий код:

set autoscale xfixmax 
set autoscale xfixmin 
set xdata time 
set timefmt "%s" 
set format x "%m/%y" 
set y2tics 

set terminal png size 1000,500 

set datafile sep ',' 

plot 'a.csv' using 1:2 with line lw 1.2 title 'a' axes x1y1, \ 
'b.csv' using 2:5 with steps lw 2 title 'b' axes x1y2 

Я хотел бы только, чтобы построить период, когда они оба имеют данные. Возможно ли это с GNUPlot?

Спасибо :)

ответ

2

Вы можете использовать команду stats для определения xrange обоих файлов данных. Это не работает в режиме TimeData, но так как у вас есть время, предоставляемое в качестве метки времени вы можете сделать это перед установкой в ​​режиме TimeData:

set datafile sep ',' 

stats 'a.csv' using 1:2 prefix 'a' 
stats 'b.csv' using 2:5 prefix 'b' 

xmin = (a_min_x < b_min_x ? b_min_x : a_min_x) 
xmax = (a_max_x < b_max_x ? a_max_x : b_max_x) 

set xdata time 
set timefmt "%s" 
set format x "%m/%y" 
set y2tics 
set xrange[xmin:xmax] 

set terminal png size 1000,500 

plot 'a.csv' using 1:2 with line lw 1.2 title 'a' axes x1y1, \ 
'b.csv' using 2:5 with steps lw 2 title 'b' axes x1y2 
+0

Я имел Gnuplot пробельного поле качестве разделителей файла с датой/временем в первом поля в кавычках. Я не нашел способ использовать этот файл с командой gnuplot stats. Нужно установить timefmt '"..."', чтобы сообщить, что первое поле gnuplot имеет котировки вокруг него. Перезапись файла в виде csv позволила мне использовать команду статистики. '' 'set datafile sep whitespace' '' вернет параметры файла данных обратно, чтобы я мог построить сюжет с использованием файла, разделенного пробелами. – gaoithe

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