def plotdistrib(array, ndivs=None, low=None, width=None, **options): """Plot a distribution of array""" from rasmus import util d = util.distrib(array, ndivs, low, width) p = options.setdefault("plot", Gnuplot()) options.setdefault("style", "boxes") p.plot(util.histbins(d[0]), d[1], **options) return p
def plothist(array, ndivs=None, low=None, width=None, **options): """Plot a histogram of array""" from rasmus import util h = util.hist(array, ndivs, low, width) p = options.setdefault("plot", Gnuplot()) options.setdefault("style", "boxes fill solid") p.plot(util.histbins(h[0]), h[1], **options) return p
def plotfuncFit(func, paramsInit, xdata, ydata, start, end, step, plot = None, **options): if not plot: plot = util.Gnuplot() options.setdefault('style', 'boxes') params, resid = fitCurve(xdata, ydata, func, paramsInit) plot.plot(util.histbins(xdata), ydata, **options) plot.plotfunc(lambda x: func(x, params), start, end, step) return plot, params, resid
def plotfuncFit(func, paramsInit, xdata, ydata, start, end, step, plot=None, **options): from rasmus import gnuplot if not plot: plot = gnuplot.Gnuplot() options.setdefault('style', 'boxes') params, resid = fitCurve(xdata, ydata, func, paramsInit) plot.plot(util.histbins(xdata), ydata, **options) plot.plotfunc(lambda x: func(x, params), start, end, step) return plot, params, resid
def fitDistrib(func, paramsInit, data, start, end, step, perc=1.0): xdata, ydata = util.distrib(data, low=start, width=step) ydata = [i / perc for i in ydata] xdata = util.histbins(xdata) params, resid = fitCurve(xdata, ydata, func, paramsInit) return params, resid