2016-03-15 130 views
0

我有我的坐标2d数组,并在每个坐标我有压力的值在那一点。我想以我稍后可以在techplot或paraview中打开它们的方式导出我的数据和一组坐标。如何输出一个数组从python显示paraview

我已经阅读VTK了很多,但无法找到一个解决我的问题。我知道这应该很容易,但我在这里和新的开始。

谢谢

回答

0

请参阅VTK文件格式指南:http://www.vtk.org/wp-content/uploads/2015/04/file-formats.pdf

你会想你的文件保存为一个结构化的点,其中n_x和n_y大小(以VTK说法尺寸)大于1而n_z尺寸为1

你的数据文件应该

# vtk DataFile Version 2.0 
This is a sample data set describing a 2D array of floats with dimensions 128 x 256. 
ASCII 
DATASET STRUCTURED_POINTS 
DIMENSIONS 128 256 1 
ORIGIN 0.0 0.0 0.0 
SPACING 1.0 1.0 1.0 
SCALARS pressure float 1 
LOOKUP_TABLE default 
1.0 
1.0 
... 
<128*256 total entries> 

名称保存该文件扩展名.vtk,你将能够在ParaView中加载它。

+0

感谢您多次为文件和有用的注释。但我有点困惑,我在这里附上我的结果文件。它是一组6×30矩阵中的一组数据,每个元素包含该点的压力。坐标将为 “xmin = 0:numberofsteps = 30:xmax = 4 and ymin = 0:numberofsteps = 6:ymax = 2” – Soyol

+0

https://drive.google.com/open?id=0B4b83ymv5MKZd3dGVDhhVnAza0E – Soyol

+0

The Google驱动器链接无法访问。 –

1

一个简单的解决方案是将您的数据写入一个CSV文件。

CSV文件包含的点的坐标,并在这些点的变量的值。举例来说,这是我的文件的开头:

"X"   , "Y"   , "Z"   , "R"   
-5.00e+00 , -2.00e+00 , 0.00e+00  , 5.39e+00  
-3.89e+00 , -2.00e+00 , 0.00e+00  , 4.37e+00  
-2.78e+00 , -2.00e+00 , 0.00e+00  , 3.42e+00  
-1.67e+00 , -2.00e+00 , 0.00e+00  , 2.60e+00  

要paraview包可视化的数据:

  1. 公开赛在paraview包文件。

    导入选项将显示在“属性”面板中(见下文)。检查字段分隔符是否正确,然后按“应用”。

    Property pannel for the CSV reader

  2. 使用表至点过滤

    选择在管道浏览器中的CSV读卡器(元素具有相同的名称的文件)。转到主菜单中的过滤器菜单,然后转到“按字母顺序排列”,然后查找“表格到点”。

    此过滤器的属性面板如下所示。在这个面板中,你必须指出哪一列定义了点的X,Y和Z坐标。由于您有2D数据,因此您可以选中“2D点”选项来忽略Z列。然后选中“应用”。

    Table To Points property pannel

    如果没有出现在视图窗口中,点击眼睛标志旁边的管道浏览器TableToPoints元素。

  3. 创建一个多边形的数据集

    通过这些操作,你可以想像你的数据通过量的彩色圆点。例如:

    Visualization of the data at the points

    为了更好的可视化,我建议创建与德劳2D滤波器poloygonal数据集。在管道浏览器中选择TableToPoints元素,然后转到“过滤器”菜单并在过滤器列表中查找“Delaunay 2D”。有了这个过滤器,你将有一个平滑的内插可视化。下面是我的示例文件的结果:

    Visualization with the delaunay 2D filter

你会发现关于CSV文件的其他信息在the ParaView wiki