Akima is a Python library that implements Akima's interpolation method described in:
A new method of interpolation and smooth curve fitting based on local procedures. Hiroshi Akima, J. ACM, October 1970, 17(4), 589-602.
A continuously differentiable sub-spline is built from piecewise cubic polynomials. It passes through the given data points and will appear smooth and natural.
This module is no longer being actively developed. Consider using scipy.interpolate.Akima1DInterpolator instead.
Author: | Christoph Gohlke |
---|---|
License: | BSD 3-Clause |
Version: | 2024.5.24 |
Install the akima package and all dependencies from the Python Package Index:
python -m pip install -U akima
See Examples for using the programming interface.
Source code, examples, and support are available on GitHub.
This revision was tested with the following requirements and dependencies (other versions may work):
2024.5.24
- Fix docstring examples not correctly rendered on GitHub.
- Support NumPy 2.
2024.1.6
- Add type hints.
- Remove support for Python 3.8 and numpy 1.22 (NEP 29).
2022.9.12
- Remove support for Python 3.7 (NEP 29).
- Update metadata.
>>> import numpy
>>> from matplotlib import pyplot
>>> from scipy.interpolate import Akima1DInterpolator
>>> def example():
... '''Plot interpolated Gaussian noise.'''
... x = numpy.sort(numpy.random.random(10) * 100)
... y = numpy.random.normal(0.0, 0.1, size=len(x))
... x2 = numpy.arange(x[0], x[-1], 0.05)
... y2 = interpolate(x, y, x2)
... y3 = Akima1DInterpolator(x, y)(x2)
... pyplot.title('Akima interpolation of Gaussian noise')
... pyplot.plot(x2, y2, 'r-', label='akima')
... pyplot.plot(x2, y3, 'b:', label='scipy', linewidth=2.5)
... pyplot.plot(x, y, 'go', label='data')
... pyplot.legend()
... pyplot.show()
...
>>> example()