gnuplot 中 splot 命令的二进制网格数据

问题描述 投票:0回答:1

这个问题参考了流行绘图程序

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
命令,因为它不必要地尝试从已经网格化的数据构建网格数据,这非常耗时。

欢迎任何帮助。

马胡吉亚

gnuplot
1个回答
0
投票

首先,你问题中的数据不是“所谓的网格数据”,因为它只代表三个点(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"
© www.soinside.com 2019 - 2024. All rights reserved.