2015-10-05 63 views
2

我有兩個設備在並行工作,問題是其中一個設置了12小時不同於另一個(即,而不是17:00,標記爲05:00 )。 我試圖將此解決方案: How to read 12h (AM/PM) timeformat in gnuplot更改小時格式gnuplot(減去12小時)

這樣:我的數據是這樣的:

#Time Concentration (#/cm³) 
05:00:14 5902  
05:00:15 5898  
05:00:16 5989  
05:00:17 5921  

而且我運行了如下因素代碼:

set xdata time 
set timefmt '%H:%M:%S' 
set format x '%H:%M' 
set xlabel "time" 

plot "< awk '{time = $1; if substr(time,1,2) <= 12) add = 12; else add = 0}' data1.txt" u 1:2 t 'CPC1' w l, \ 
     "data2.txt" u 1:2 t 'CPC2' w l 

pause -1 

然而,處理過的data1文件沒有被繪製,只有具有正確時間刻度的data2。任何解決方案的想法?

在此先感謝!

回答

2

您可以在gnuplot中直接添加12小時。裏面的using語句中使用timecolumn來獲得時間(秒),然後添加你的12小時(每次43200秒)

set xdata time 
set timefmt '%H:%M:%S' 
set format x '%H:%M' 
set xlabel "time" 
set style data lines 

plot 'data1.txt' using (timecolumn(1) + 43200):2 t 'CPC1',\ 
    'data2.txt' using 1:2 t 'CPC2' 
+0

這完美的作品,非常感謝! – madoro

+0

您是否有任何線索爲什麼時間值無法通過'($ 1)'計算來訪問? – Wolf