2011-03-10 11 views
6

Mam zbiór punktów Chcę wykreślić w matplotlib, powiedzieć:Proste wygładzanie krzywej w matplotlib - odpowiednik "gładkiego beziera" gnuplot?

x = [1,4,6,7,8] 
y = [0.2, 0.4, 0.5, 0.6, 0.6] 

W gnuplot, kiedyś móc korzystać bezpośrednio z gładką właściwość „PLOT” Command, aby uzyskać gładką krzywą na wykresie , bez konieczności wstępnego przetwarzania danych.

Czy istnieje odpowiednik w matplotlib --- określić zestaw punktów i powiedzieć, jak wygładzić go, bezier lub spline czy coś w tym stylu?

Jeśli nie, jaki jest najłatwiejszy sposób osiągnięcia tego?

+0

Zaktualizowałem link. – Paul

Odpowiedz

6

Sądzę, że najbardziej zbliżają się do ciebie: scipy's interpolation and curve-fitting functions. Nie znam niczego wbudowanego w matplotlib.

+0

Oto link do nowszego DOSC dla splajnu wygładzania 1ksa scipy'ego (http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.interpolate.UnivariateSpline.html) – patricksurry