write matplot inside font bbox python matplotlib labels annotate

matplot - Etiquetar puntos de datos de python en el diagrama



text matplot (1)

Busqué las edades (horas que son como las edades) para encontrar la respuesta a un problema realmente molesto (aparentemente básico), y como no puedo encontrar una pregunta que encaje bien con la respuesta, estoy publicando una pregunta y respondiéndola con la esperanza de que Le ahorraré a alguien más la gran cantidad de tiempo que acabo de pasar en mis habilidades de trazado de noobie.

Si desea etiquetar sus puntos de trazado usando matplotlib python

from matplotlib import pyplot as plt fig = plt.figure() ax = fig.add_subplot(111) A = anyarray B = anyotherarray plt.plot(A,B) for i,j in zip(A,B): ax.annotate(''%s)'' %j, xy=(i,j), xytext=(30,0), textcoords=''offset points'') ax.annotate(''(%s,'' %i, xy=(i,j)) plt.grid() plt.show()

Sé que xytext = (30,0) va junto con los códigos de texto, usa esos 30,0 valores para colocar el punto de etiqueta de datos, por lo que está en el eje 0 y 30 más en el eje x en su propia área pequeña.

Necesita las dos líneas que trazan i yj; de lo contrario, solo trazará la etiqueta de datos xoy.

Obtienes algo como esto (fíjate en las etiquetas solamente):

No es ideal, todavía hay cierta superposición, pero es mejor que nada, que es lo que tenía ...


¿Qué tal imprimir (x, y) a la vez.

from matplotlib import pyplot as plt fig = plt.figure() ax = fig.add_subplot(111) A = -0.75, -0.25, 0, 0.25, 0.5, 0.75, 1.0 B = 0.73, 0.97, 1.0, 0.97, 0.88, 0.73, 0.54 plt.plot(A,B) for xy in zip(A, B): # <-- ax.annotate(''(%s, %s)'' % xy, xy=xy, textcoords=''data'') # <-- plt.grid() plt.show()