2016-03-15 45 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

相關問題