2016-11-07 44 views
0

我有以下csv文件,其中列分別代表hour,minute,view count,分別爲每天的每分鐘完全1440個條目。我想用gnuplot來繪製它。 (把HH:MM成一列是不可能的,由於MySQL只FULL GROUP BY)Gnuplot從不同的CSV列構造timefmt?

"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" 

將這個功能的話:

plot 'data.dat' u (catdate($1,$2)):($3) w l 

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

然後繪製