所以我想从一个数据文件中绘制,该文件具有不确定数量的 x 和 y 数据字段(未知但长度恒定)。我想将它们全部绘制在一张图上,但颜色不同。
在不指定索引的情况下,它们都以相同的颜色绘制在一起。
在索引上使用 for 循环或单独编写索引确实将它们用不同的颜色绘制在一起,但程序将不知道要循环多少个索引。
为 for 循环的最大值设置一个非常高的数字是可行的,但是当它用完数据时会发出错误消息。
有什么方法可以操纵 gnuplot 中的数据以得出 for 循环的索引数?
所以我想从一个数据文件中绘制,该文件具有不确定数量的 x 和 y 数据字段(未知但长度恒定)。我想将它们全部绘制在一张图上,但颜色不同。
在不指定索引的情况下,它们都以相同的颜色绘制在一起。
在索引上使用 for 循环或单独编写索引确实将它们用不同的颜色绘制在一起,但程序将不知道要循环多少个索引。
为 for 循环的最大值设置一个非常高的数字是可行的,但是当它用完数据时会发出错误消息。
有什么方法可以操纵 gnuplot 中的数据以得出 for 循环的索引数?
如果你有 gnuplot >= 4.6.0,你可以使用stats
命令:
#!/usr/bin/env gnuplot
reset
datafile = 'data.dat'
set terminal png size 600,400
set output 'test.png'
stats datafile
plot for [i=1:STATS_blocks] datafile index (i-1) pt 7 ps 2 title 'record '.i
如果您的数据看起来像这样(用两个空行分隔数据块)
1 1
2 2
3 3
4 2
0 3
该脚本将制作这个情节:
这同样适用于具有多个 (x,y) 对的数据块。