scipy.interpolate.

NearestNDInterpolator#

class scipy.interpolate.NearestNDInterpolator(x, y, rescale=False, tree_options=None)[Quelle]#

Nächstliegender Nachbar-Interpolator in N > 1 Dimensionen.

Parameter:
x(npoints, ndims) 2-D ndarray von Floats

Koordinaten der Datenpunkte.

y(npoints, ) 1-D ndarray von Float oder Komplex

Datenwerte.

rescaleboolean, optional

Skaliert die Punkte auf einen Einheitswürfel, bevor die Interpolation durchgeführt wird. Dies ist nützlich, wenn einige der Eingabedimensionen inkommensurable Einheiten haben und sich um viele Größenordnungen unterscheiden.

Hinzugefügt in Version 0.14.0.

tree_optionsdict, optional

Optionen, die an den zugrundeliegenden cKDTree übergeben werden.

Hinzugefügt in Version 0.17.0.

Methoden

__call__(*args, **query_options)

Interpolationsfunktion an gegebenen Punkten auswerten.

Siehe auch

griddata

Interpoliert unstrukturierte D-D-Daten.

LinearNDInterpolator

Stückweise lineare Interpolation in N Dimensionen.

CloughTocher2DInterpolator

Stückweise kubischer, C1-glatter, Krümmungsminimierender Interpolator in 2D.

interpn

Interpolation auf einem regulären Gitter oder einem rechtwinkligen Gitter.

RegularGridInterpolator

Interpolator auf einem regulären oder rechtwinkligen Gitter in beliebigen Dimensionen (interpn umschließt diese Klasse).

Hinweise

Verwendet scipy.spatial.cKDTree

Hinweis

Für Daten auf einem regulären Gitter verwenden Sie stattdessen interpn.

Beispiele

Wir können Werte auf einer 2D-Ebene interpolieren

>>> 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()
../../_images/scipy-interpolate-NearestNDInterpolator-1.png