I'd like to clarify: I want the empirical cdf, but I want it to be normalized. There's a normed=True option to plt.hist but how can I do the equivalent for CDFs?
On Fri, Jul 9, 2010 at 9:14 AM, Alan G Isaac <alan.is...@gmail.com> wrote: > On 7/9/2010 12:02 AM, per freem wrote: >> How can I plot the empirical CDF of an array of numbers in matplotlib >> in Python? > > > I recalled David Huard posted the below, > which apparently was once in the sandbox... > hth, > Alan Isaac > > def empiricalcdf(data, method='Hazen'): > """Return the empirical cdf. > > Methods available (here i goes from 1 to N) > Hazen: (i-0.5)/N > Weibull: i/(N+1) > Chegodayev: (i-.3)/(N+.4) > Cunnane: (i-.4)/(N+.2) > Gringorten: (i-.44)/(N+.12) > California: (i-1)/N > > :see: > http://svn.scipy.org/svn/scipy/trunk/scipy/sandbox/dhuard/stats.py > :author: David Huard > """ > i = np.argsort(np.argsort(data)) + 1. > nobs = len(data) > method = method.lower() > if method == 'hazen': > cdf = (i-0.5)/nobs > elif method == 'weibull': > cdf = i/(nobs+1.) > elif method == 'california': > cdf = (i-1.)/nobs > elif method == 'chegodayev': > cdf = (i-.3)/(nobs+.4) > elif method == 'cunnane': > cdf = (i-.4)/(nobs+.2) > elif method == 'gringorten': > cdf = (i-.44)/(nobs+.12) > else: > raise 'Unknown method. Choose among Weibull, Hazen, Chegodayev, > Cunnane, Gringorten and California.' > return cdf > > > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Sprint > What will you do first with EVO, the first 4G phone? > Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first > _______________________________________________ > Matplotlib-users mailing list > Matplotlib-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > ------------------------------------------------------------------------------ This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users