matplotlib/matplotlib — pull request #2643 by phobson (2013-12-03 15:20:37+00:00)
Title: ENH/REF: Overhauled boxplots

### In a nut shell here is what has happened:

1. Created a function (`cbook.boxplot_stats`) that take any data that `axes.boxplot` could handle and generates a list if dicts containing the statistics needed to draw a set of boxplots.
1. Then I created a new method (`axes.bxp`) that accepts dictionaries from `cbook.boxplot_stats` and allows the user to customize how the plots are rendering. In other words, a dict a of style **kwargs can be passed configuring the style of the boxes/whisker/caps, the outliers, the medians, the means (new functionality).
1. The new `bxp` method also allows the user to toggle the drawing of any element of the boxplot via **kwargs (e.g., `shownotches`, `showboxes`, `showfliers`, etc).
1. The new `bxp` looks for a `label` key in the dictionaries. If it's available, it'll use that as the x-tick label. Otherwise, the labels default to the boxplot's position.
1. And finally, the original `boxplot` method is functionally unchanged, but now it relies on `cbook.boxplot_stats` and `axes.bxp` to do all the work.
1. Added a bunch of tests

### Potential remaining items:

1. Well, I definitely need to draft up a good example to show all of this off. That's coming shortly.
1. We might want to expose the fully capability of `bxp` in `boxplot`. Currently, `boxplot`'s API is unchanged. I'm fine with this but I'll need to pretty much duplicate all of the `bxp` tests to make sure nothings gets lost in translation,
1. Rerunning boilerplate.py didn't seem to pick up on `bxp`. Do I need to clear it out first?
1. We might want to add `boxplot_stats` to `pyplot` or `pylab`.
1. And it looks like boilerplate.py added a bunch of unicode strings to the call sigs and now the 3.2 build is failing (dang it)