Positioning annotations


I would like to annotate a bunch of points on a map.
I’m trying to use the annotate function, but it need to know the text coordinates.
So you have to configure manually in order not to have these annotations overlap each other.
This is really annoying.

Is there a way to :

  • detect the “best” position for theses annotation as with loc=“best” argument of the legend function ?
  • let me move theses annotations with the mouse ?
    I’ve heard that matplotlib gives the possibility of using events and signals. Can this be used in this situation ?
    Is there any example for this ?