- (, ), . , , vtk:
import matplotlib.pyplot as plt
from scipy.interpolate import griddata
import numpy as np
import vtk
from vtk.util.numpy_support import vtk_to_numpy
reader = vtk.vtkXMLUnstructuredGridReader()
reader.SetFileName("my_input_data.vtk")
reader.Update()
nodes_vtk_array= reader.GetOutput().GetPoints().GetData()
temperature_vtk_array = reader.GetOutput().GetPointData().GetArray(3)
nodes_nummpy_array = vtk_to_numpy(nodes_vtk_array)
x,y,z= nodes_nummpy_array[:,0] , nodes_nummpy_array[:,1] , nodes_nummpy_array[:,2]
temperature_numpy_array = vtk_to_numpy(temperature_vtk_array)
T = temperature_numpy_array
npts = 100
xmin, xmax = min(x), max(x)
ymin, ymax = min(y), max(y)
xi = np.linspace(xmin, xmax, npts)
yi = np.linspace(ymin, ymax, npts)
Ti = griddata((x, y), T, (xi[None,:], yi[:,None]), method='cubic')
CS = plt.contour(xi,yi,Ti,10,linewidths=3,cmap=cm.jet)
plt.clabel(CS, inline=1,inline_spacing= 3, fontsize=12, colors='k', use_clabeltext=1)
plt.colorbar()
plt.show()
