所以我想从一个数据文件中进行绘图,该文件具有不确定数量的 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
Run Code Online (Sandbox Code Playgroud)
如果您的数据如下所示(用两个空行分隔数据块)
1 1
2 2
3 3
4 2
0 3
Run Code Online (Sandbox Code Playgroud)
该脚本将制作这个情节:

这同样适用于具有多个 (x,y) 对的数据块。