Python中二进制文件的绘图

Python中二进制文件的绘图,python,matplotlib,plot,binary,Python,Matplotlib,Plot,Binary,我有一个二进制文件,我必须从中读取数据。该文件由一个128x128x243矩阵(十六进制格式)组成,我用以下代码读取了该矩阵: with open("zubal_voxel_man.dat", "rb") as fileHandle: dim_x = 128 dim_y = 128 dim_z = 243 data = np.zeros((dim_x,dim_y,dim_z), dtype=np.int) for p in range(0, dim_

我有一个二进制文件,我必须从中读取数据。该文件由一个128x128x243矩阵(十六进制格式)组成,我用以下代码读取了该矩阵:

with open("zubal_voxel_man.dat", "rb") as fileHandle:

    dim_x = 128
    dim_y = 128
    dim_z = 243

    data = np.zeros((dim_x,dim_y,dim_z), dtype=np.int)

    for p in range(0, dim_x):
        for q in range (0, dim_y):
            for r in range(0, dim_z):
                data[p][q][r] = ord(fileHandle.read(1))
如何使用Python可视化这些数据?每个x、y、z位置都有一个从0到255(灰度)的值,我想渲染这个值


非常感谢您的帮助

部分问题在于代码:

datax = data[:,0]
datay = data[:,1]
dataz = data[:,2]
这并不是你所期望的在一个轴上切片,而是从Y=0,然后从Y=1,Y=2中取一个切片,然后将它们相对地绘制出来——你的另一个问题是,你有一个3维的值数组,每个值有4维X,Y,Z,value——你试图将它们绘制成一个曲面。它只有3个维度


我认为您的首要任务是澄清您的数据所代表的内容及其结构。

正如目前所述,这个问题有太多步骤需要明确回答。我建议你把问题分成几部分:1)读入数据并打印几点,以确保你做得对;2) 获取Python数据结构以匹配您的数据;等如果您对这些步骤有任何问题,请再次要求单独的步骤。