这个问题参考了流行绘图程序
splot
的gnuplot
命令。当我想要从数据文件中绘制所谓的网格数据时,我们用空白记录分隔行,如下所示的数据文件
0 1 2
1 2 3
2 3 4
0 1 -2
1 2 -3
2 3 -4
0 1 1.5
1 2 -1.2
2 3 4
如何对 binary 数据文件执行相同操作?在二进制数据文件中,我们只是存储记录,然后按顺序读取记录,如下所示
splot <file> binary format="%double%double%double" u 1:2:3
在这种情况下,数据被读取为非网格化。如何在不使用
gnuplot
的 dgrid3d
命令的情况下将这些数据转换为网格数据。我不想使用 dgrid3d
命令,因为它不必要地尝试从已经网格化的数据构建网格数据,这非常耗时。
欢迎任何帮助。
马胡吉亚
首先,你问题中的数据不是“所谓的网格数据”,因为它只代表三个点(0,1)、(1,2)和(2,3)的三次重复。 想必您想要的数据是以下数据或类似的数据。
0 1 2
0 2 3
0 3 4
1 1 -2
1 2 -3
1 3 -4
2 1 1.5
2 2 -1.2
2 3 4
假设这九个 (x,y,z) 三元组作为平面二进制顺序写入文件,其中各个数字的类型为“double”。在这种情况下,二进制关键字后面需要跟有 record 关键字,以告诉 splot 命令该文件具有 3x3 网格结构。
splot "test.bin" binary record=(3,3) format ="%double%double%double"