我已经获得了一个巨大的9GB二进制数据文件(格式为'%float%float'),并且gnuplot 5.0在尝试读取整个内容时会出现问题。
如何制定绘图命令以限制绘图,使其只读取二进制数据文件的1K或2K左右?
答案 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;"