2016-11-07 3 views
0

У меня есть следующий файл csv, в котором столбцы представляют hour, minute, view count соответственно, ровно 1440 записей за каждую минуту дня. Я хотел бы построить его, используя gnuplot. (Ввод HH: MM в один столбец не представляется возможным из-за MySQL ТОЛЬКО ПОЛНЫЙ GROUP BY.)Gnuplot построить timefmt из разных столбцов CSV?

"0","0","71" 
"0","1","55" 
"0","2","56" 
... 
"23","57","66" 
"23","58","70" 
"23","59","75" 

В настоящее время я использую следующие команды:

set datafile separator "," 
set timefmt "%H,%M" 
set xdata time 
set xtics format "%H:%M" time font "/:normal,8" rotate by 45 offset -1,-1 

Формат времени не отображается правильно , часы интерпретируются как минуты, а минуты вообще не отображаются. Я также пробовал set timefmt "\"%H\",\"%M\"" без успеха.

x plotting timestamps

Два вопроса:

  • Как я могу разобрать часы: минуты и отображать его правильно?
  • Если в этом файле данных было больше столбцов, а метка времени была не первой, а в n-й, то как я могу указать для gnuplot, чтобы сделать это, подобно using 0:n для plot?

ответ

1

Используйте этот раз формат строки

set timefmt "%H:%M" 

Поместите эту функцию где:

catdate(x,y)=sprintf("%d:%d",x,y) 

Затем участок с:

plot 'data.dat' u (catdate($1,$2)):($3) w l 
Смежные вопросы