Robert Kern wrote: > On 2009-09-14 13:49 PM, Gökhan Sever wrote: > >> On Mon, Sep 14, 2009 at 12:30 PM, <jason-s...@creativetrax.com >> <mailto:jason-s...@creativetrax.com>> wrote: >> >> I tried the following (most output text is deleted): >> >> In [1]: ob1=[1,1,2,2,1,2,4,3,2,2,2,3,4,5,6,7,8,9,7,6,4,5,5] >> In [2]: import matplotlib.pyplot as >> plt >> In [3]: >> plt.figure() >> In [4]: >> plt.boxplot(ob1) >> In [5]: >> plt.savefig('test.png') >> In [6]: import >> scipy.stats >> In [7]: >> scipy.stats.scoreatpercentile(ob1,75) >> Out[7]: 5.5 >> >> >> Note that the 75th percentile is 5.5. R agrees with this calculation. >> However, in the boxplot, the top of the box is around 6, not 5.5. Isn't >> the top of the box supposed to be at the 75th percentile? >> >> Thanks, >> >> Jason >> >> -- >> Jason Grout >> >> >> From matplotlib/lib/matplotlib/axes.py >> >> You can see how matplotlib calculating percentiles. And yes it doesn't >> conform with scipy's scoreatpercentile() >> >> >> # get median and quartiles >> q1, med, q3 = mlab.prctile(d,[25,50,75]) >> >> I[36]: q1 >> O[36]: 2.0 >> >> I[37]: med >> O[37]: 4.0 >> >> I[38]: q3 >> O[38]: 6.0 >> >> >> Could this be due to a rounding? I don't know, but I am curious to hear >> the explanations for this discrepancy. >> > > prctile does not handle the case where the exact percentile lies between two > items. scoreatpercentile does. > Fixed in r8039.
------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users