<p>根据程序员的回答,以下代码允许我实现与Paraview相同的网格:</p>
<pre><code>import numpy
import matplotlib.pyplot as plt
import vtk
gridreader = vtk.vtkXMLPUnstructuredGridReader()
gridreader.SetFileName('whatever.pvtu')
gridreader.Update()
vtkOut = gridreader.GetOutput()
vtkData = vtkOut.GetPoints().GetData()
coords = numpy.array([vtkData.GetTuple3(x)
for x in range(vtkData.GetNumberOfTuples())])
cell_connectivity_matrix = []
for i in range(vtkOut.GetNumberOfCells()):
assert vtkOut.GetCell(i).GetNumberOfPoints() == 3
cell_connectivity_matrix.append(
[vtkOut.GetCell(i).GetPointIds().GetId(j)
for j in range(vtkOut.GetCell(i).GetPointIds().GetNumberOfIds())])
cell_connectivity_matrix = numpy.array(cell_connectivity_matrix,
dtype=numpy.float)
plt.triplot(coords[:, 0], coords[:, 1], triangles=cell_connectivity_matrix)
plt.gcf().set_size_inches(16, 8)
plt.gca().set_aspect('equal')
plt.show()
</code></pre>
<p>这将显示</p>
<p><a href="https://i.stack.imgur.com/lrgo2.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/lrgo2.png" alt="enter image description here"/></a></p>