如何用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));
感谢。
答案 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