hist(by=) breaks when the output does not fill all rows and columns
Example:

import pandas as pd
pd.Series(randn(1000)).hist(by=randint(0, 6, 1000), sharex=True, sharey=True)

pd.Series(randn(1000)).hist(by=randint(0, 5, 1000), sharex=True, sharey=True)

![1](https://cloud.githubusercontent.com/assets/126879/4254821/07c113ea-3aaf-11e4-8905-490d6b5e9864.png)
![2](https://cloud.githubusercontent.com/assets/126879/4254820/07bfeb5a-3aaf-11e4-803b-ebde9a0a948a.png)
