限制巨大的二进制数据文件的gnuplot图

时间:2017-04-25 23:12:39

标签: plot gnuplot

我已经获得了一个巨大的9GB二进制数据文件(格式为'%float%float'),并且gnuplot 5.0在尝试读取整个内容时会出现问题。

如何制定绘图命令以限制绘图,使其只读取二进制数据文件的1K或2K左右?

1 个答案:

答案 0 :(得分:1)

您可以使用gnuplot' s every关键字来绘制前2000条记录:

plot 'file.dat' binary format='%float%float' every ::::2000 using 1:2 with lines;

但似乎读取整个文件,然后只绘制前2000条记录,这可能不是你想要的。因此,您可能必须使用外部实用程序,例如:

plot "<(head --bytes 16000 file.dat)" binary format='%float%float' using 1:2 with lines

例如,这个玩具测试对我有用:

perl -e 'for ($i=0; $i < 21; $i++) { print pack "ff", $i, $i*$i }' > squares.dat
gnuplot -e "set terminal png;set out 'only5squares.png';plot '<(head --bytes 40 squares.dat)' binary format='%float%float' using 1:2 with lines;"

enter image description here