NearestNDInterpolator#
- class scipy.interpolate.NearestNDInterpolator(x, y, rescale=False, tree_options=None)[source]#
- Nearest-neighbor interpolator in N > 1 dimensions. - Parameters:
- x(npoints, ndims) 2-D ndarray of floats
- Data point coordinates. 
- y(npoints, ) 1-D ndarray of float or complex
- Data values. 
- rescaleboolean, optional
- Rescale points to unit cube before performing interpolation. This is useful if some of the input dimensions have incommensurable units and differ by many orders of magnitude. - Added in version 0.14.0. 
- tree_optionsdict, optional
- Options passed to the underlying - cKDTree.- Added in version 0.17.0. 
 
 - Methods - __call__(*args, **query_options)- Evaluate interpolator at given points. - See also - griddata
- Interpolate unstructured D-D data. 
- LinearNDInterpolator
- Piecewise linear interpolator in N dimensions. 
- CloughTocher2DInterpolator
- Piecewise cubic, C1 smooth, curvature-minimizing interpolator in 2D. 
- interpn
- Interpolation on a regular grid or rectilinear grid. 
- RegularGridInterpolator
- Interpolator on a regular or rectilinear grid in arbitrary dimensions ( - interpnwraps this class).
 - Notes - Uses - scipy.spatial.cKDTree- Note - For data on a regular grid use - interpninstead.- Examples - We can interpolate values on a 2D plane: - >>> from scipy.interpolate import NearestNDInterpolator >>> import numpy as np >>> import matplotlib.pyplot as plt >>> rng = np.random.default_rng() >>> x = rng.random(10) - 0.5 >>> y = rng.random(10) - 0.5 >>> z = np.hypot(x, y) >>> X = np.linspace(min(x), max(x)) >>> Y = np.linspace(min(y), max(y)) >>> X, Y = np.meshgrid(X, Y) # 2D grid for interpolation >>> interp = NearestNDInterpolator(list(zip(x, y)), z) >>> Z = interp(X, Y) >>> plt.pcolormesh(X, Y, Z, shading='auto') >>> plt.plot(x, y, "ok", label="input point") >>> plt.legend() >>> plt.colorbar() >>> plt.axis("equal") >>> plt.show() 