Étiquette python points de données sur la parcelle

J'ai cherché pendant des âges (en heures, comme des âges) pour trouver la réponse à une très ennuyeux (apparemment de base) problème, et parce que je ne peux pas trouver une question que tout correspond à la réponse, je suis de poster une question et d'y répondre dans l'espoir qu'il permettra de sauver quelqu'un d'autre l'énorme quantité de temps que j'ai passé sur mon noobie traçage des compétences.

Si vous souhaitez étiqueter vos points de l'intrigue à l'aide de python matplotlib

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()

Je sais que xytext=(30,0) va de pair avec la textcoords, vous utilisez ces 30,0 valeurs de position de l'étiquette de données point, alors son sur le 0 de l'axe y et 30 sur l'axe des x sur son petit domaine.

Vous avez besoin à la fois les lignes de traçage i et j, sinon vous seule parcelle x ou y de données de l'étiquette.

Vous obtenez quelque chose comme ceci (notez les étiquettes uniquement):

Étiquette python points de données sur la parcelle

Ses pas l'idéal, il y a toujours un certain chevauchement - mais ses mieux que rien du tout qui est ce que j'avais..

  • Pourquoi ne pas ax.annotate('(%s, %s)' % (i, j), ...)? (Ou si vous êtes en utilisant le plus récent de style de mise en forme de chaîne, '({}, {})'.format(i, j).)
  • laissant ici matplotlib.org/users/annotations.html
  • pyplot.texte semble être une alternative à annoter: pythonmembers.club/2018/05/08/... vous ne savez Pas si il fait quelque chose de différent
  • Responsable de la pythonmembers.club ici. XD c'est ce que m'a coché comme un débutant. Cet article est devenu assez populaire pour être inclus dans Stanford uni PNL cours (yaps un audacieux lien direct vers l'article)
InformationsquelleAutor ashley | 2014-03-08