title: Matplotlib text alignment
body: <p>Is there a way to get the result shown in the third axes with just a single <code>ax.text()</code> command? Using <code>expandtabs</code> almost get me there, but the text never aligns properly. </p>
  
  <p>Using two plotting commands doesn't seem like a good practice to me, and you always need to guess the distance between both, which might take some iterations.</p>
  
  <pre><code>fig, axs = plt.subplots(1,3, figsize=(12,4), 
                         subplot_kw={'aspect': 1, 'xticks': [], 'yticks':[]})
  fig.subplots_adjust(wspace=0.05)
  
  values = {'a': 1.35, 'b': 25.1, 'c': 5}
  
  tmpl = """Param1: {a:1.1f}
  Long param2: {b:1.1f}
  Prm3: {c:1.1f}"""
  
  mystr = tmpl.format(**values)
  axs[0].text(0.1, 0.9, mystr, va='top', transform=axs[0].transAxes)
  axs[0].set_title('Default')
  
  
  tmpl = """Param1:\t\t\t{a:1.1f}
  Long param2:\t{b:1.1f}
  Prm3:\t\t\t{c:1.1f}""".expandtabs()
  
  mystr = tmpl.format(**values)
  axs[1].text(0.1, 0.9, mystr, va='top', transform=axs[1].transAxes)
  axs[1].set_title('Almost there')
  
  
  labels = """Param1:
  Long param2:
  Prm3:"""
  
  tmpl = """{a:1.1f}
  {b:1.1f}
  {c:1.1f}"""
  
  mystr = tmpl.format(**values)
  axs[2].text(0.1, 0.9, labels, va='top', transform=axs[2].transAxes)
  axs[2].text(0.65, 0.9, mystr, va='top', ha='right', transform=axs[2].transAxes)
  axs[2].set_title('Target')
  </code></pre>
  
  <p><img src="https://i.stack.imgur.com/win7H.png" alt="enter image description here"></p>