Issue with Pandas boxplot within a subplot · Issue #3578 · pandas-dev/pandas (original) (raw)

related is #4636

I'm having an issue drawing a Pandas boxplot within a subplot. Based on the two ways I'm trying, creating the boxplot either removes all the subplots that I've already created, or plots the boxplot after the subplot grid. But I can't seem to draw it within the subplot grid.

import matplotlib.pyplot as plt
import pandas
from pandas import DataFrame, Series

data = {'day' : Series([1, 1, 1, 2, 2, 2, 3, 3, 3]),
'val' : Series([3, 4, 5, 6, 7, 8, 9, 10, 11])}
df = pandas.DataFrame(data)

The first thing I've tried is the following:

plt.figure()

plt.subplot(2, 2, 1)
plt.plot([1, 2, 3])

plt.subplot(2, 2, 4)
df.boxplot('val', 'day')

But this simply creates the plot outside of the subplots:

image
image

So, I then tried supplying the axis by hand:

plt.figure()

plt.subplot(2, 2, 1)
plt.plot([1, 2, 3])

plt.subplot(2, 2, 4)
ax = plt.gca()
df.boxplot('val', 'day', ax=ax)

image

It seems that an internal call to subplot is messing up my desired subplot structure, preventing me from getting my boxplot image to appear in the bottom right grid in the subplots (the one that's empty in the first set of images)?

See this question on StackOverflow:
http://stackoverflow.com/questions/16500079/issue-with-pandas-boxplot-within-a-subplot