X轴范围无效:GNUplot 时间和日期

4
我正在尝试绘制来自数据记录器的数据,但不确定为什么会出现xrange无效的错误。
以下是我的最小脚本和我要绘制的数据样本。它们都有类似的标题,我认为这是问题所在,但我尝试用#注释它们或删除它们,但没有效果。如果解决方案可以包括一种不需要更改标题的方法,那将非常好,并且可以节省很多时间。
我已将标题更改为字母A以保护数据,但仍会出现相同的错误。
最小代码
    #!/gnuplot

set datafile sep ','
set xdata time
set timefmt '%d/%m/%Y,%H:%M:%S'



#DATA FILES
plot 'PAS.csv'   using 2:4 title 'Passive'  with points pt 5 lc rgb 'red'   axes x1y1,\
     'ACT.csv'   using 2:4 title 'Active'   with points pt 5 lc rgb 'blue'  axes x1y1,\
     'RISK.csv'  using 2:4 title 'Risk'     with points pt 5 lc rgb 'black' axes x1y2

数据

AAAAAAAAA   
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Timestamp,Date,Time,Value,Units  
1415879007,13/11/2014,11:43:27,0.011,µA 
1415878407,13/11/2014,11:33:27,0.045,µA 
1415877807,13/11/2014,11:23:27,0.003,µA
1415877207,13/11/2014,11:13:27,0.056,µA
1415876607,13/11/2014,11:03:27,-0.036,µA
1415876007,13/11/2014,10:53:27,-0.046,µA 
1415875407,13/11/2014,10:43:27,-0.039,µA 
1415874807,13/11/2014,10:33:27,-0.050,µA 
1415874207,13/11/2014,10:23:27,0.051,µA 
1415873607,13/11/2014,10:13:27,-0.014,µA 
1415873007,13/11/2014,10:03:27,0.035,µA 
1415872407,13/11/2014,09:53:27,0.054,µA 
1415871807,13/11/2014,09:43:27,-0.006,µA 
1415871207,13/11/2014,09:33:27,-0.049,µA 
1415870607,13/11/2014,09:23:27,0.000,µA 
1415870007,13/11/2014,09:13:27,0.048,µA 
1415869407,13/11/2014,09:03:27,-0.029,µA

谢谢你!

这里的问题可能是时间格式包含了数据文件分隔符吗? - Tom Fenech
这是一个好想法,尽管我在另一个脚本中使用了这些行而没有问题?数据几乎相同。 - OJR
对我来说,如果我取消所有标题行的注释,在4.6.5中它可以正常工作。因此,似乎逗号不是timefmt内部的问题。 - Christoph
1个回答

5

如果您可以访问像grep这样的命令行工具,您可以在绘图之前过滤数据文件:

set datafile sep ','
set xdata time
set timefmt '%d/%m/%Y,%H:%M:%S'

#DATA FILES
plot '< grep -E ''^[0-9]{8,}'' PAS.csv' using 2:4 title 'Passive' with points pt 5 lc rgb 'red'

这将删除所有不以至少八位数字开头的行。已测试在4.6.3下可行。

或者,如果旧版本的gnuplot出现timefmt内部逗号的问题,则可以使用第一列中的时间戳作为您的x轴:

set datafile sep ','
set xdata time
set timefmt '%s'
plot '< grep -E ''^[0-9]{8,}'' PAS.csv' using 1:4 title 'Passive' with points pt 5 lc rgb 'red'

很不幸,我没有grep的访问权限(在一个没有管理员权限的Windows工作电脑上),但是您的时间戳想法意味着如果我删除标题,我实际上可以绘制这个东西。有趣的是,如果我删除标题并尝试使用时间和日期列,它对我来说不起作用,尽管我使用的是4.6.5版本,不知道发生了什么。我现在必须暂时放下这个问题,所以我将接受这个答案,因为我相信有了这些信息,我可以解决它,谢谢! - OJR
我喜欢在gnuplot读取之前使用grep -E来清理输入的想法。 - martyvis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接