Rotular pontos de dados python no plot

Eu procurei por idades (horas que são como idades) para encontrar a resposta para um problema realmente irritante (aparentemente básico), e porque não consigo encontrar uma pergunta que se encaixa perfeitamente na resposta, estou postando uma pergunta e respondendo na esperança de que ela economizará a outra pessoa a enorme quantidade de tempo que passei nas minhas habilidades de plotagem noobie.

Se você quiser rotular seus pontos de plotagem usando 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()

Eu sei que xytext = (30,0) vai junto com os cabos de texto, você usa esses valores 30,0 para posicionar o ponto do rótulo de dados, então está no eixo 0 y e 30 no eixo x em sua própria área pequena.

Você precisa das duas linhas plotando iej, caso contrário, apenas plota x ou y rótulo de dados.

Você obtém algo assim (observe apenas os rótulos):

Não é o ideal, ainda há alguma sobreposição - mas é melhor do que nada que é o que eu tinha ..

questionAnswers(1)

yourAnswerToTheQuestion