基本上,我试图将压力绘制为X,Y,Z的函数。任何人都可以给我一个如何做的例子吗?
其他一些信息:
X,Y,Z表示域中的位置;
压力代表强度
我正从FILE HDF5中检索数据集。
len(X) = 10
len(Y) = 1
len(Z) = 636
提前致谢
更新:
这是我检索数据的最初代码
import h5py
FILE_INPUT = "../output/hdf5/Diagramme_rayonnement_3D.h5"
DATASET_NAME = "/dset"
ATTRIBUTE_NAME = "Calculation Attributes"
file = h5py.File(FILE_INPUT)
dset = file[DATASET_NAME]
attr = dset.attrs[ATTRIBUTE_NAME]
attr = {'Nx': attr[0], 'Ny': attr[1], 'Nz': attr[2], 'Nfreq': attr[3], 'deltaX': attr[4],
'deltaY': attr[5], 'deltaZ': attr[6], 'deltaF': attr[7], 'Fmin': attr[8]}
X = [x * attr['deltaX'] for x in range(int(attr['Nx']))]
Y = [y * attr['deltaY'] for y in range(int(attr['Ny']))]
Z = [z * attr['deltaZ'] for z in range(int(attr['Nz']))]
Frequencies = [freq * attr['deltaF'] for freq in range(int(attr['Nfreq']))]
Frequencies += attr['Fmin']
正如您所看到的,我有这个数据集,我需要绘制哪个是4D数组。第一个索引是指频率。第二个,第三个和第四个索引指的是域中的位置。存储的值代表压力(强度)。 我需要做的是创建一个按频率显示图表的GUI。因此,我们留下了具有压力值的3D阵列。这些数据是由C / C ++代码生成的。因此,根据配置文件,值可能会更改。
我故意放弃len(Y)= 1以加速结果。
我不知道从哪里开始。你能指导我吗?
PS:我真的更愿意使用VTK解决方案。但它不一定是约束。答案 0 :(得分:0)
对于绘图部分: https://plot.ly/python/3d-wireframe-plots/
=LARGE(IF(B$2:B$1070=$B$24;ROW(B$1:B$1067)+ROW(B$24)+0);ROWS(B2:B2))-23