from mathutils import * from plotutils import * x = [ 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0,18.0] y = [ 30.0, 22.0, 12.0, 10.0, 11.0, 14.0, 21.0, 32.0] v = [ 0.3, 0.8, 0.4, 0.3, 0.5, 0.4, 0.3, 0.2] w = [ 1/ max(i,0.1) for i in v] p=plot(None)[0] p.setStyle(p.Style.ErrorY) p.setLegendVisible(True) s1 = LinePlotErrorSeries("Observed Data") p.addSeries(s1) for i in range(len(x)):\ s1.appendData(x[i], y[i], v[i]) pars_polynomial= fit_polynomial(y, x, 2, None, w) function = PolynomialFunction(pars_polynomial) plot_function(p, function, "Fit" , frange (min(x), max(x), 0.1), False) print "(a0,a1,a2) = " , pars_polynomial for xp in x: print xp, poly(xp, pars_polynomial)