Es posible "anotar" una posición (x, y) con un texto, lo que no supone más que añadir el texto en la posición indicada -de forma semejante a como hace la función text-. La diferencia es que el texto puede ser mostrado en otras coordenadas, pudiendo mostrarse una flecha desde el texto hasta el punto que estamos "anotando". En su forma más básica, a la función matplotlib.pyplot.annotate (o al método equivalente del conjunto de ejes) simplemente le damos el texto a mostrar y una tupla con las coordenadas del punto que queremos anotar:
Si le damos a la función como argumento una segunda tupla con posiciones, el texto se mostrará en éstas, con el punto "anotado" en la posición inicial:
Sin embargo el resultado, como vemos en la imagen anterior, no parece muy coherente: el texto se muestra en el segundo par de posiciones dadas, es cierto, pero no hay ninguna señal que distinga el punto siendo anotado: es como si estuviésemos anotando el punto (30, 1), y no el (16.5, 0.1). La forma de dar coherencia a esto es forzando que se muestre la flecha que apunta desde la etiqueta hasta el punto siendo anotado, y la forma de hacer esto es añadiendo el parámetro arrowprops. Este parámetro es un diccionario en el que se definen las propiedades de la flecha. Pero basta con que se trate de un diccionario vacío para que se muestre la flecha con sus atributos por defecto:
Puedes consultar en la documentación de matplotlib la posible configuración de la flecha.