gauss1d(x=None, y=None, xi=None, scale=None, use32=True)[source]#

Gaussian 1D smoothing kernel.

Create smooth interpolation of input points at interpolated points. If no points are supplied, use the same as the input points.

  • x (arr) – 1D list of x coordinates

  • y (arr) – 1D list of y values at each of the x coordinates

  • xi (arr) – 1D list of points to calculate the interpolated y

  • scale (float) – how much smoothing to apply (by default, width of 5 data points)

  • use32 (bool) – convert arrays to 32-bit floats (doubles speed for large arrays)


# Setup
import pylab as pl
x = pl.rand(40)
y = (x-0.3)**2 + 0.2*pl.rand(40)

# Smooth
yi = sc.gauss1d(x, y)
yi2 = sc.gauss1d(x, y, scale=0.3)
xi3 = pl.linspace(0,1)
yi3 = sc.gauss1d(x, y, xi)

# Plot oiginal and interpolated versions
pl.scatter(x, y,     label='Original')
pl.scatter(x, yi,    label='Default smoothing')
pl.scatter(x, yi2,   label='More smoothing')
pl.scatter(xi3, yi3, label='Uniform spacing')

# Simple usage

New in version 1.3.0.