title: multi index plotting
body: <p>I have some data where I've manipulated the dataframe using the following code:</p>
  
  <pre><code>import pandas as pd
  import numpy as np
  
  data = pd.DataFrame([[0,0,0,3,6,5,6,1],[1,1,1,3,4,5,2,0],[2,1,0,3,6,5,6,1],[3,0,0,2,9,4,2,1],[4,0,1,3,4,8,1,1],[5,1,1,3,3,5,9,1],[6,1,0,3,3,5,6,1],[7,0,1,3,4,8,9,1]], columns=["id", "sex", "split", "group0Low", "group0High", "group1Low", "group1High", "trim"])
  data
  
  #remove all where trim == 0
  trimmed = data[(data.trim == 1)]
  trimmed
  
  #create df with columns to be split
  columns = ['group0Low', 'group0High', 'group1Low', 'group1High']
  to_split = trimmed[columns]
  to_split
  
  level_group = np.where(to_split.columns.str.contains('0'), 0, 1)
  # output: array([0, 0, 1, 1])
  level_low_high = np.where(to_split.columns.str.contains('Low'), 'low', 'high')
  # output: array(['low', 'high', 'low', 'high'], dtype='&lt;U4')
  
  multi_level_columns = pd.MultiIndex.from_arrays([level_group, level_low_high], names=['group', 'val'])
  to_split.columns = multi_level_columns
  to_split.stack(level='group')
  
  sex = trimmed['sex']
  split = trimmed['split']
  horizontalStack = pd.concat([sex, split, to_split], axis=1)
  horizontalStack
  
  finalData = horizontalStack.groupby(['split', 'sex', 'group'])
  finalData.mean()
  </code></pre>
  
  <p>My question is, how do I plot the mean data using ggplot or seaborn such that for each "split" level I get a graph that looks like this:</p>
  
  <p><a href="https://i.stack.imgur.com/j7uNA.png" rel="noreferrer"><img src="https://i.stack.imgur.com/j7uNA.png" alt="enter image description here"></a></p>
  
  <p>At the bottom of the code you can see I've tried to split up the group factor so I can separate the bars, but that resulted in an error (KeyError: 'group') and I think that is related to the way I used multi indexing</p>