我尝试使用gnuplot生成图表,但似乎它没有显示正确的值: 数据是:
03/18/2014 15:00:50 32,4
03/18/2014 14:00:48 32,4
03/18/2014 13:00:48 32,42
03/18/2014 12:00:44 32,4
03/18/2014 11:00:42 122,2
03/18/2014 10:00:47 22,4
03/18/2014 09:00:37 53,9
03/18/2014 08:00:35 14,2
sh是:
#!/usr/bin/gnuplot
set title "Plot x^2"
set terminal png
set output "output.png"
set xlabel "X"
set ylabel "Y"
#set datafile sep ','
set xdata time
set timefmt '%m/%d/%Y %H:%M:%S'
plot 'pepe.csv' using 1:2 with lines
答案 0 :(得分:3)
@ andyras' set decimalsign ','
的建议很有帮助,但如果您在时间格式中有空格,那么它将计为多列。引用文档:
timedata中的每组非空白字符在使用n:n规范中计为一列。因此11:11 25/12/76 21.0由三列组成。为避免混淆,如果您的文件包含timedata,gnuplot要求您提供完整的使用规范。
这意味着您需要将using 1:2
更改为using 1:3
。
使用原始数据,此脚本适合我:
#!/usr/bin/gnuplot
set title "Plot x^2"
set terminal png
set output "output.png"
set xlabel "X"
set ylabel "Y"
set decimalsign ','
set timefmt '%m/%d/%Y %H:%M:%S'
set xdata time
plot 'decimal.txt' u 1:3 with lines
输出:
或者,您可以在数据文件中使用不同的数据分隔符,例如,
,时间只计为一列。为此,您需要在行脚本中添加行set datafile sep ','
。
修改:您可能还想考虑使用pngcairo
终端(set term pngcairo
),因为它看起来好多了: