title: Matplotlib: panel label out of the box, above the ylabel
body: <p>I have been using matplotlib for all my publication-use figures, and one question is: how to I place the panel labels that is out of the box? The tutorial is shown <a href="http://matplotlib.org/users/transforms_tutorial.html#axes-coordinates" rel="noreferrer">here</a>, with the code and result:</p>
  
  <pre><code>import numpy as np
  import matplotlib.pyplot as plt
  
  fig = plt.figure()
  for i, label in enumerate(('A', 'B', 'C', 'D')):
      ax = fig.add_subplot(2,2,i+1)
      ax.text(0.05, 0.95, label, transform=ax.transAxes,
        fontsize=16, fontweight='bold', va='top')
  
  plt.show()
  </code></pre>
  
  <p><img src="https://i.stack.imgur.com/ZF4hl.png" alt="Panel labeling"> </p>
  
  <p>But the panel label is only at the corner of the bounding box, not out side of the box and above the y axis label (which is the usual way), like this:</p>
  
  <p><img src="https://i.stack.imgur.com/FYJv5.jpg" alt="Plos One format"> </p>
  
  <p>Any input would be appreciated. Thanks!</p>