注意:我可以控制数据文件的格式,但它必须是单个文件。
我正在尝试使用 gnuplot 在同一个图表上绘制多个数据集。理想情况下我想绘制这样的东西:
data_1 0 0
data_2 0 0
data_1 1 1
data_2 0 1
data_1 2 2
data_2 1 2
等等。在这种情况下,data_1
and data_2
应该是两条独立的曲线。
我还想避免将可能数据集的列表甚至数量放入 gnuplot 脚本中。基本上,我希望它按特定字段对数据点进行“分组”,并将每个组绘制为同一图表上的单独数据集。
作为最后的替代方案,我可以使用 grep 将原始文件分成每个数据集一个文件,并绘制这些文件(我想这更容易?),但我正在寻找一种使用单个文件来完成此操作的方法。
保存数据的 gnuplot 方法是将数据集与two空行。然后你可以使用index
访问单个文件中的不同数据集:
data_1 0 0
data_1 1 1
data_1 2 2
data_2 0 0
data_2 0 1
data_2 1 2
并将其绘制为
plot 'file.dat' using 2:3 index 0, '' using 2:3 index 1
要获取数据集的数量,请使用stats
命令将数据集(数据块)的数量保存在可用于迭代的变量中:
stats 'file.dat' using 0 nooutput
plot for [i=0:(STATS_blocks - 1)] 'file.dat' using 2:3 index i
要扩展此功能,您甚至可以按如下方式格式化文件
data_1
0 0
1 1
2 2
data_2
0 0
0 1
1 2
并使用 search 数据集的第一行作为绘图键:
set key autotitle columnheader
stats 'file.dat' using 0 nooutput
plot for [i=0:(STATS_blocks - 1)] 'file.dat' using 1:2 index i
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)