title: matplotlib annotate multiple data sets
body: <p>If I feed several x/y sets to matplotlib.pyplot.plot, how does <code>annotate</code> decide how to correlate the xy value to one of the sets? Is there an assumption that all the sets are scaled the same way?</p>
  
  <pre><code> plt.plot(clist, plist, 'g', clist, rlist, 'r', clist, flist, 'b')
   plt.annotate("%d chars F=%f" % (threshold_c, threshold_f), xy=(threshold_c, threshold_f),
               xytext=(-50, 30), textcoords='offset points',
               arrowprops=dict(arrowstyle="-&gt;"))
  </code></pre>
  
  <p>We seem to have a good answer, but someone asked for clarification.</p>
  
  <p>Calling annotate with the default <code>xy=</code> has the effect of associating an annotation with a graphed x/y pair. When there's one X array and one Y array, it's obvious to me what that means.</p>
  
  <p>With multiples, I didn't know if <code>plot</code> was going to automatically set up multiple sets of axes, one for each X/Y array -- and, if so, how annotate was going to work. The answer explains that one call to plot creates one set of axes that scales all the X/Y sets as best it can, and so annotate knows where to go.</p>