使用gnuplot绘制单列二进制文件

时间:2016-07-18 11:57:02

标签: plot gnuplot binaryfiles

如何用gnuplot绘制单列二进制文件?

这是我正在使用的gnuplot命令:

plot "file.bin" binary format="%float" u ($0+1):1 every ::0::999

但我得到了垂直线x = 0上的所有点。

我正在使用C代码创建二进制文件:

write(fdesc, bin_data, tot_size * sizeof(double));

感谢。

1 个答案:

答案 0 :(得分:1)

如果您将二进制值写入二进制文件,则还必须从gnuplot读取双精度数据:

plot "file.bin" binary format="%double" u 0:1 every ::::999

作为更完整的示例,请考虑以下C代码段simple.c

#include <unistd.h>    
int main(int argc, char* argv[])
{
    const int N = 128;
    double values[N];
    int i;
    for (i = 0; i < N; i++)
    values[i] = i * i;

    write(STDOUT_FILENO, values, N*sizeof(double));
}

使用gcc simple.c进行编译,打开gnuplot并输入

plot '< ./a.out' binary format='%double' using 0:1