title: Color seaborn boxplot based in DataFrame column name
body: <p>I'd like to create a list of boxplots with the color of the box dependent on the name of the pandas.DataFrame column I use as input.</p>
  
  <p>The column names contain strings that indicate an experimental condition based on which I want the box of the boxplot colored.</p>
  
  <p>I do this to make the boxplots:</p>
  
  <pre><code>sns.boxplot(data = data.dropna(), orient="h")
  plt.show()
  </code></pre>
  
  <p>This creates a beautiful list of boxplots with correct names. Now I want to give every boxplot that has 'prog +, DMSO+' in its name a red color, leaving the rest as blue.</p>
  
  <p>I tried creating a dictionary with column names as keys and colors as values:</p>
  
  <pre><code>color = {}
  for column in data.columns:
      if 'prog+, DMSO+' in column:
          color[column] = 'red'
      else:
          color[column] = 'blue'
  </code></pre>
  
  <p>And then using the dictionary as color:</p>
  
  <pre><code>sns.boxplot(data = data.dropna(), orient="h", color=color[column])
  plt.show()
  </code></pre>
  
  <p>This does not work, understandably (there is no loop to go through the dictionary). So I make a loop:</p>
  
  <pre><code>for column in data.columns:
      sns.boxplot(data = data[column], orient='h', color=color[column])
  plt.show()
  </code></pre>
  
  <p>This does make boxplots of different colors but all on top of each other and without the correct labels. If I could somehow put these boxplot nicely in one plot below each other I'd be almost at what I want. Or is there a better way?</p>