title: Subplots margins to fit title and labels in matplotlib
body: <p>I have read tons of answers on similar problems and none has helped.</p>
  <p>I just want to increase the margins between the subplots and top, left and bottom edges in order to fit a <code>fig.suptitle</code> and common xlabel and ylabel.</p>
  <pre><code>import matplotlib.pyplot as plt
  import random
  
  #from matplotlib import rcParams
  #rcParams['axes.titlepad'] = 20 # kind of works but shifts all titles, not only suptitle
  
  def dummy(n):
      return random.sample(range(1, 100), n)
  
  
  data = dict()
  for i in range(4):
      data[&quot;area{}&quot;.format(i)] = [dummy(10), dummy(10)]
  
  fig, ax = plt.subplots(2, 2, sharex='all', sharey='all', figsize=(10, 10))
  fig.suptitle(&quot;Common title&quot;, fontsize=22)
  
  ax = ax.reshape(-1)
  for i, (area, data) in enumerate(data.items()):
      ax[i].set_title(area)
      ax[i].scatter(data[0], data[1])
  
  fig.text(0.5, 0.01, 'xlabel', ha='center', fontsize=15)
  fig.text(0.01, 0.5, 'ylabel', va='center', fontsize=15, rotation=90)
  
  fig.tight_layout() # Does nothing
  fig.subplots_adjust(top=0.85) # Does nothing
  fig.show()
  </code></pre>
  <p>Matplotlib version 3.0.0</p>
  <p>Python 3.6.6</p>
  <p><a href="https://i.stack.imgur.com/6TKMa.png" rel="nofollow noreferrer">Example plot from shared code</a></p>