def mapinterpolation(data, x=None, y=None, interpx=1, interpy=1):
"""Interpolate a 2D map."""
# Get data size :
dim2, dim1 = data.shape
# Define xticklabel and yticklabel :
if x is None:
x = np.arange(0, dim1, interpx)
if y is None:
y = np.arange(0, dim2, interpy)
# Define the meshgrid :
Xi, Yi = np.meshgrid(
np.arange(0, dim1 - 1, interpx), np.arange(0, dim2 - 1, interpy))
# 2D interpolation :
datainterp = interp2(data, Xi, Yi)
# Linearly interpolate vectors :
xveci = np.linspace(x[0], x[-1], datainterp.shape[0])
yveci = np.linspace(y[0], y[-1], datainterp.shape[1])
return datainterp, xveci, yveci
评论列表
文章目录