Beschriften Sie Python-Datenpunkte auf dem Plot

Ich suchte nach Ewigkeiten (Stunden, die wie Ewigkeiten sind), um die Antwort auf ein wirklich nerviges (scheinbar grundlegendes) Problem zu finden, und da ich keine Frage finde, die genau zu der Antwort passt, stelle ich eine Frage und beantworte sie in der Hoffnung, dass dies der Fall ist spart jemand anderem die enorme Zeit, die ich gerade für meine Fähigkeiten zum Zeichnen von Noobies aufgewendet habe.

Wenn Sie Ihre Plotpunkte mit Python Matplotlib beschriften möchten

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

Ich weiß, dass xytext = (30,0) zusammen mit den Textkoorden verwendet wird. Verwenden Sie diese 30,0-Werte, um den Datenbeschriftungspunkt so zu positionieren, dass er auf der 0-y-Achse und auf der x-Achse auf seiner eigenen kleinen Fläche liegt.

Sie benötigen sowohl die Linien, die i als auch j zeichnen, ansonsten zeichnen Sie nur die Datenbezeichnung x oder y.

Du bekommst so etwas raus (beachte nur die Labels):

Es ist nicht ideal, es gibt immer noch einige Überlappungen - aber es ist besser als nichts, was ich hatte.