title: Python: How to plot multiple seaborn heatmaps side-by-side?
body: <p>I have a Pandas dataframe with 20+ features. I would like to see their correlation matrices. I create the heatmaps with code like the below, with <code>subset1</code>, <code>subset2</code>, etc.:</p>
  
  <pre><code>import seaborn as sns
  cmap = sns.diverging_palette( 220 , 10 , as_cmap = True )
  sb1 = sns.heatmap(
      subset1.corr(), 
      cmap = cmap,
      square=True, 
      cbar_kws={ 'shrink' : .9 }, 
      annot = True, 
      annot_kws = { 'fontsize' : 12 })
  </code></pre>
  
  <p>I would like to be able to display multiple heatmaps generated by the above code, side-by-side like so:</p>
  
  <p><code>display_side_by_side(sb1, sb2, sb3, . . .)</code></p>
  
  <p>I'm not sure how to do this because the first code chunk above not only saves the results to <code>sb1</code>, but also plots the heatmap. Also, not sure how to write a function, <code>display_side_by_side()</code>. I am using the following for Pandas dataframes:</p>
  
  <pre><code># create a helper function that takes pd.dataframes as input and outputs pretty, compact EDA results
  from IPython.display import display_html
  def display_side_by_side(*args):
      html_str = ''
      for df in args:
          html_str = html_str + df.to_html()
      display_html(html_str.replace('table','table style="display:inline"'),raw=True)
  </code></pre>
  
  <hr>
  
  <p>Based on the first answer below by Simas Joneliunas, I have come up with the following working solution:</p>
  
  <pre><code>import matplotlib.pyplot as plt
  import seaborn as sns
  
  # Here we create a figure instance, and two subplots
  fig = plt.figure(figsize = (20,20)) # width x height
  ax1 = fig.add_subplot(3, 3, 1) # row, column, position
  ax2 = fig.add_subplot(3, 3, 2)
  ax3 = fig.add_subplot(3, 3, 3)
  ax4 = fig.add_subplot(3, 3, 4)
  ax5 = fig.add_subplot(3, 3, 5)
  
  # We use ax parameter to tell seaborn which subplot to use for this plot
  sns.heatmap(data=subset1.corr(), ax=ax1, cmap = cmap, square=True, cbar_kws={'shrink': .3}, annot=True, annot_kws={'fontsize': 12})
  sns.heatmap(data=subset2.corr(), ax=ax2, cmap = cmap, square=True, cbar_kws={'shrink': .3}, annot=True, annot_kws={'fontsize': 12})
  sns.heatmap(data=subset3.corr(), ax=ax3, cmap = cmap, square=True, cbar_kws={'shrink': .3}, annot=True, annot_kws={'fontsize': 12})
  sns.heatmap(data=subset4.corr(), ax=ax4, cmap = cmap, square=True, cbar_kws={'shrink': .3}, annot=True, annot_kws={'fontsize': 12})
  sns.heatmap(data=subset5.corr(), ax=ax5, cmap = cmap, square=True, cbar_kws={'shrink': .3}, annot=True, annot_kws={'fontsize': 12})
  </code></pre>