假设我有如下几何图形:
]
我有每个点的所有坐标 (x,y) 和振幅 z。我创建了一个内插所有点的热图,但也考虑了这个洞。
我想知道是否有可能在整个几何体中构建热图(使用网格未描述的插值数据点的平滑图像),排除孔?它必须以洞(白洞)的形式出现在热图中。
提前致谢
我试过下面的代码。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from scipy.interpolate import griddata
data = pd.read_excel('file.xlsx', skiprows=4)
data = np.array(data)
x = data[:,0]
y = data[:,1]
z = data[:,2]
# define grid.
xi = np.linspace(np.min(x),np.max(x))
yi = np.linspace(np.min(y),np.max(y))
# grid the data.
zi = griddata((x, y), z, (xi[None,:], yi[:,None]), method='cubic')
# contour the gridded data, plotting dots at the randomly spaced data points.
CS = plt.contour(xi,yi,zi,15,linewidths=0.5,colors='k')
CS = plt.contourf(xi,yi,zi,15,cmap=plt.cm.jet)
plt.colorbar() # draw colorbar
结果我有: