(Python)绘制压力作为X,Y,Z的函数

时间:2015-12-25 18:33:15

标签: python plot vtk

基本上,我试图将压力绘制为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解决方案。但它不一定是约束。

1 个答案:

答案 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