title: zooming using matplotlib arrows
body: <p>I am trying to draw an arrow between two (scatter) nodes in matplotlib. I  tried to draw it using a <a href="https://matplotlib.org/devdocs/api/_as_gen/matplotlib.patches.ConnectionPatch.html#matplotlib.patches.ConnectionPatch" rel="nofollow noreferrer">connection patch</a> using this code:</p>
  
  <pre><code>import matplotlib.pyplot as plt
  import matplotlib as mpl
  
  fig, ax = plt.subplots()
  nodes = ax.scatter([1,2], [3,2], s=300)
  arrow = mpl.patches.ConnectionPatch((1,3),(2,2), "data", "data", arrowstyle="-|&gt;", shrinkA=5, shrinkB=5, mutation_scale=20, fc="w")
  ax.add_patch(arrow)
  fig.show()
  </code></pre>
  
  <p>To get:</p>
  
  <p><a href="https://i.stack.imgur.com/o29dS.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/o29dS.png" alt="enter image description here"></a></p>
  
  <p>Which looks OK. However, when I zoom on one of the nodes, the arrow disappears:
  <a href="https://i.stack.imgur.com/lbhlG.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/lbhlG.png" alt="enter image description here"></a></p>
  
  <p>When I use a <a href="https://matplotlib.org/devdocs/api/_as_gen/matplotlib.patches.FancyArrowPatch.html#matplotlib.patches.FancyArrowPatch" rel="nofollow noreferrer">fancy arrow patch</a> with the following (similar) code:</p>
  
  <pre><code>import matplotlib.pyplot as plt
  import matplotlib as mpl
  
  fig, ax = plt.subplots()
  nodes = ax.scatter([1,2], [3,2], s=300)
  arrow = mpl.patches.FancyArrowPatch((1,3), (2,2), arrowstyle='-|&gt;', shrinkA=5, shrinkB=5, mutation_scale=20, fc='w')
  ax.add_patch(arrow)
  plt.show()
  </code></pre>
  
  <p>I get the same plot but zooming  is possible:</p>
  
  <p><a href="https://i.stack.imgur.com/vz7dW.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/vz7dW.png" alt="enter image description here"></a></p>
  
  <p>Can someone explain why this is not happening using a <code>ConnectionPatch</code>?</p>