如何使用GnuPlot从CSV文件中绘制时间序列图日期和时间存储在带有双引号的单独列中?
我想用x数据作为时间值来绘制数据。 csv文件如下所示如何使用GnuPlot从CSV文件中绘制时间序列图日期和时间存储在带有双引号的单独列中?,csv,gnuplot,Csv,Gnuplot,我想用x数据作为时间值来绘制数据。 csv文件如下所示 "","12/09/29","00:19:43"," 1787"," 12","12" "","12/09/29","00:19:48"," 1787"," 12","12" "","12/09/29","00:19:53"," 1785"," 13","12" "","12/09/29","00:19:58"," 1785"," 12","12" 这里的问题是双引号的用法。我试过这个 set timefm
"","12/09/29","00:19:43"," 1787"," 12","12"
"","12/09/29","00:19:48"," 1787"," 12","12"
"","12/09/29","00:19:53"," 1785"," 13","12"
"","12/09/29","00:19:58"," 1785"," 12","12"
这里的问题是双引号的用法。我试过这个
set timefmt '"%y/%m/%d","%H:%M:%S"'
set datafile separator ","
plot 'myFile.csv' using 2:3:4 with lines
但它不识别时间格式
如何从两个分隔的列(带双引号和逗号分隔符)中识别时间值
谢谢你的帮助
thomas如果引号是问题所在,并且您使用的是启用了管道的posix系统,那么您可以轻松删除它们:
plot '< sed -e s/\"//g test.dat' using 2:4:5
对我有用
所以我真的认为问题在于您使用的规范指向第三列(包含时间信息),而不是第四列。最后,您可以使用2:4使用
绘制相同的绘图,您实际上从未使用第5列来绘制任何内容。感谢您的快速回答。我在我的原始数据上尝试了你的上一个建议(用双引号),但我得到了一个错误:gnuplot>设置扩展数据时间gnuplot>设置数据文件sep”,“gnuplot>设置时间mt'”%y/%m/%d“,%H:%m:%S”'gnuplot>使用2:4绘制'essai.txt',带有行警告:空x范围[0:0],调整为[-1:1]显示的日期大约是2000/01/01,而不是2012/09/29。我在windows XP(法语版)上使用gnuplot V4.6:本地设置有问题吗?有什么想法吗?很抱歉布局不好,我不习惯这些评论。你说得对。我忘记了脚本中的设置扩展数据时间
,所以gnuplot只是在解析12,我没有仔细观察到。但问题仍然存在。我发布的案例已经过测试(这次更仔细),它似乎在gnuplot 4.4.2上工作
set datafile sep ','
set xdata time
set timefmt '%y/%m/%d,%H:%M:%S' #no quotes in timefmt -- Gnuplot removes them when parsing the datafile.
plot 'test.dat' using 2:4:5 with lines