2014-12-03 115 views
1

我想从我的数据集,看起来像绘制某些数据:GNUPLOT:绘图数据,如果某些条件得到满足

29/11/2014;23:52;983,0;67,8;1016,0;53,0;53,0;29,7 
29/11/2014;23:53;269,0;67,8;1018,0;53,0;53,0;29,7 
29/11/2014;23:54;266,0;67,8;1008,0;53,0;53,0;29,7 
29/11/2014;23:55;59,0;67,8;1011,0;53,0;53,0;29,7 
29/11/2014;23:56;37,0;67,8;1016,0;53,0;53,0;29,7 
29/11/2014;23:57;457,0;67,8;1000,0;51,9;53,0;29,6 
29/11/2014;23:58;570,0;67,8;1000,0;53,0;53,0;29,6 
29/11/2014;23:59;1140,0;67,8;1001,0;53,0;52,5;29,6 
30/11/2014;00:00;1040,0;67,8;1005,0;52,5;53,0;29,6 
30/11/2014;00:01;443,0;67,8;1000,0;53,0;53,0;29,6 
30/11/2014;00:02;229,0;67,8;1008,0;52,5;53,0;29,6 
30/11/2014;00:03;1035,0;67,8;1001,0;53,0;52,5;29,5 
30/11/2014;00:04;681,0;67,8;1000,0;51,9;51,9;29,5 
30/11/2014;00:05;931,0;67,8;1008,0;52,5;53,0;29,5 
30/11/2014;00:06;889,0;67,8;1010,0;53,0;51,9;29,5 
30/11/2014;00:07;885,0;67,8;1000,0;51,9;51,9;29,4 

字段分隔符是分号和小数点分隔符是逗号,字段日期时间被认为彼此独立的(它们由分开;符号)

个该数据集涵盖了整整一个月,但我只需要画出今天对应数据,由于某种原因,绘图命令总是忽略数据,所以我怀疑命令:

"plot file1 using (stringcolumn(1) == date1 ? $2:1/0):6 title " GPU" with lines, " 

的格式不正确,但在阅读了大量的网络相关文章后,我无法猜测。

该行" file1 using 2:7 title " CPU" with lines"中的绘图命令的其余部分按预期工作。

+0

之外:不是'1/0'你可以写'NaN',这是更具可读性 – kxr 2017-01-19 12:32:37

+0

感谢您的评论@krx – 2017-01-20 00:10:09

回答

1

当您评估using语句中的表达式时,必须使用timecolumn才能获取正确的时间数据。此外,对于字符串比较使用eq操作:

set xdata time 
set timefmt '%H:%M' 
set datafile separator ';' 
set decimalsign locale 
date1='30/11/2014' 

plot 'test.dat' using (strcol(1) == date1 ? timecolumn(2) : 1/0):6 with lines title "GPU" 

enter image description here

+0

谢谢你非常喜欢这个解决方案。 – 2014-12-03 21:22:44

相关问题