如何使用 python 绘制不规则几何体的热图?

问题描述 投票:0回答:0

假设我有如下几何图形:

enter image description here]

我有每个点的所有坐标 (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

结果我有:

datagrid geometry heatmap
© www.soinside.com 2019 - 2024. All rights reserved.