我正在绘制一些数据,我正在绘制多条线条。应该有一行,所以我想gnuplot正试图拟合数据并以奇怪的方式加入点或某事。我如何让gnuplot绘制一个而不是多行?这是我的剧本:
set term png font 'Liberation Sans,10' size 800,200
set output "data/values.png"
set style line 1 lt 1 lw 1 lc rgb "purple" pt -1
set xlabel "Time" font 'Liberation Sans,10'
set xdata time
set timefmt "%Y-%m-%d %H:%M:%S"
set xtics font 'Liberation Sans,10'
set ytics font 'Liberation Sans,10'
set autoscale y
plot "data.txt" using 1:5 ls 1 smooth bezier with lines
答案 0 :(得分:1)
您可以使用sort
对数据进行排序。请考虑我生成的以下数据文件与您的时间格式一致:
2000-12-21 12:32:05 1
2001-11-21 12:32:05 2
2000-12-20 12:32:05 3
2000-12-20 12:32:04 4
键入sort data.txt
将产生正确的顺序:
2000-12-20 12:32:04 4
2000-12-20 12:32:05 3
2000-12-21 12:32:05 1
2001-11-21 12:32:05 2
您可以使用特殊输入名称plot "< sort data.txt" ...
:
set xdata time
set timefmt "%Y-%m-%d %H:%M:%S"
plot "data.txt" using 1:3 w l
set xdata time
set timefmt "%Y-%m-%d %H:%M:%S"
plot "< sort data.txt" using 1:3 w l
如果您需要针对数据格式进行更强大的排序,可以查阅sort
文档。