【问题标题】:How to skip certain bytes at the begining of a binary file in Gnuplot?如何在 Gnuplot 中的二进制文件开头跳过某些字节?
【发布时间】:2025-12-08 13:45:02
【问题描述】:

假设我有一个二进制文件,格式如下:4*sizeof(double), 4*sizeof(size_t), (Ny*Nx)*dizeof(double)。

前 4 个 double 和 4 个 size_ts 是有关文件的元信息。剩下的是我想用 gnuplot 绘制的数据。

现在我必须使用命令将文件转换为另一个没有标题的文件:

plot "convertedfile.data" binary format='%double' array=(Ny, Nx) u 1 w image

问:有没有办法告诉 gnuplot 忽略二进制文件的起始 N 字节,然后像矩阵一样绘制其余部分?

【问题讨论】:

    标签: plot gnuplot


    【解决方案1】:

    您可以使用 skip

    在开头跳过一些字节
    plot "convertedfile.data" binary skip=16 format='%double' array=(Ny, Nx) u 1 w image
    

    将跳过文件的前 16 个字节。

    【讨论】:

      【解决方案2】:

      最简单的解决方案可能是编写一个小的 C 程序来剥离元信息并将剩余的数据写入一个新文件。

      【讨论】:

      • 这就是我现在所做的,但如果 gnuplot 可以忽略二进制文件开头的几个字节会更好。这就是我要找的。​​span>
      • 我接受了这个答案,因为它是这个问题收到的最准确的答案:-(