title: matplotlib arrowheads and aspect ratio
body: <p>If I run this script:</p>
  
  <pre><code>import matplotlib.pyplot as plt
  import pylab as plab
  
  plt.figure()
  plt.plot([0,2], [2,0], color='c', lw=0.5)
  plt.plot([1,2], [2,1], color='k', lw=0.5)
  plt.arrow(1,1,0.5,0.5, head_width=0.1, width=0.01, head_length=0.1, color='r')
  plt.arrow(1.25,0.75,0.5,0.5, head_width=0.1, width=0.01, head_length=0.1, color='g')
  
  plab.axes().set_aspect(0.5)
  
  plt.show()
  </code></pre>
  
  <p>I get this:
  <a href="https://i.stack.imgur.com/lqJx6.png" rel="noreferrer"><img src="https://i.stack.imgur.com/lqJx6.png" alt="enter image description here"></a>
  Notice that the backs of the arrowheads are flush with that black line that stretches from (1,2) to (2,1). That makes sense, but I want the backs of the arrowheads to be VISUALLY perpendicular to the tails WITHOUT changing the aspect ratio. How do I do this?</p>