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 ..