title: Grouping boxplots in seaborn when input is a DataFrame
body: <p>I intend to plot multiple columns in a <code>pandas dataframe</code>, all grouped by another column using <code>groupby</code> inside <code>seaborn.boxplot</code>. There is a nice answer here, for a similar problem in <code>matplotlib</code> <a href="https://stackoverflow.com/questions/16592222/matplotlib-group-boxplots">matplotlib: Group boxplots</a> but given the fact that <code>seaborn.boxplot</code> comes with <code>groupby</code> option I thought it could be much easier to do this in <code>seaborn</code>.</p>
  <p>Here we go with a reproducible example that fails:</p>
  <pre><code>import seaborn as sns
  import pandas as pd
  df = pd.DataFrame([[2, 4, 5, 6, 1], [4, 5, 6, 7, 2], [5, 4, 5, 5, 1],
                     [10, 4, 7, 8, 2], [9, 3, 4, 6, 2], [3, 3, 4, 4, 1]],
                    columns=['a1', 'a2', 'a3', 'a4', 'b'])
  
  # display(df)
     a1  a2  a3  a4  b
  0   2   4   5   6  1
  1   4   5   6   7  2
  2   5   4   5   5  1
  3  10   4   7   8  2
  4   9   3   4   6  2
  5   3   3   4   4  1
  
  #Plotting by seaborn
  sns.boxplot(df[['a1','a2', 'a3', 'a4']], groupby=df.b)
  </code></pre>
  <p>What I get is something that completely ignores <code>groupby</code> option:</p>
  <p><img src="https://i.stack.imgur.com/2zAei.png" alt="Failed groupby" /></p>
  <p>Whereas if I do this with one column it works thanks to another SO question <a href="https://stackoverflow.com/questions/25279810/seaborn-groupby-pandas-series/25282470?noredirect=1#comment39402836_25282470">Seaborn groupby pandas Series</a> :</p>
  <pre><code>sns.boxplot(df.a1, groupby=df.b)
  </code></pre>
  <p><img src="https://i.stack.imgur.com/nwUkU.png" alt="seaborn that does not fail" /></p>
  <p>So I would like to get all my columns in one plot (all columns come in a similar scale).</p>
  <p>EDIT:</p>
  <p>The above SO question was edited and now includes a 'not clean' answer to this problem, but it would be nice if someone has a better idea for this problem.</p>