GNUPLOT:提取二进制2D数组并打印

时间:2015-06-07 12:33:48

标签: plot binary gnuplot

我正在努力使用GNUPLOT二进制数据处理。

我有一个二进制文件,由MATLAB frite函数打印,按列顺序打印。

我正在打印一个Nx2数组,这是xy平面上的点集合,我猜想存储为x1..xn y1..yn,作为二进制文件中的连续记录。你同意吗?考虑到我仍然不清楚二进制存储意味着什么。我习惯使用ASCII文件,使用漂亮的分隔符和\ n&#39。

所以我想用gnuplot绘制这些点。我一直在阅读二进制通用文档,我结束了尝试:

plot 'datafile.bin' binary array=N:N w l

这意味着我的数据文件由两个数组组成,每个数组都是N个元素。 Gnuplot生成一行,首先跟随第一个数组的值,然后跟随第二个数组的值,它们都在1:N的区间内。

我试图将第一个数组用作我的绘图的x轴,将第二个数组用作y轴,所以我尝试:

plot 'datafile.bin' binary array=N:N u 1:2 w l

它连续再次绘制两个数组,而不是在xy图中。我哪里错了?

非常感谢

编辑:我尝试将scan = xy关键字应用于这两行,但他告诉我,我的文件是一维记录。所以我猜你1:2没有意义

1 个答案:

答案 0 :(得分:0)

我不认为gnuplot可以处理您描述的数据类型。它不像matlab那样了解数组和矩阵。

使用x,y值对编写数据文件。

然后你可以

 plot dataf binary format='%float%float' using 1:2". 

(如果您的x,y值都是浮点数)。

"数组"关键字是指当您的文件仅包含函数值并且您希望gnuplot构造自变量时的情况。完全不同。