L'ajout de y=x pour un matplotlib nuage de points si je n'ai pas gardé la trace de tous les points de données qui est entré dans

Voici un code qui n'diagramme de dispersion d'un certain nombre de séries différentes à l'aide de matplotlib et ajoute la ligne y=x:

import numpy as np, matplotlib.pyplot as plt, matplotlib.cm as cm, pylab

nseries = 10
colors = cm.rainbow(np.linspace(0, 1, nseries))

all_x = []
all_y = []
for i in range(nseries):
    x = np.random.random(12)+i/10.0
    y = np.random.random(12)+i/5.0
    plt.scatter(x, y, color=colors[i])
    all_x.extend(x)
    all_y.extend(y)

# Could I somehow do the next part (add identity_line) if I haven't been keeping track of all the x and y values I've seen?
identity_line = np.linspace(max(min(all_x), min(all_y)),
                            min(max(all_x), max(all_y)))
plt.plot(identity_line, identity_line, color="black", linestyle="dashed", linewidth=3.0)

plt.show()

Afin de parvenir à cela, j'ai dû garder une trace de toutes les valeurs x et y qui sont entrés dans le diagramme de dispersion, de sorte que je sais où identity_line doit de début et de fin. Est il possible que je peux obtenir y=x pour montrer, même si je n'ai pas une liste de tous les points que j'ai tracé? Je pense que quelque chose dans matplotlib peut me donner une liste de tous les points après le fait, mais je n'ai pas été en mesure de comprendre comment obtenir cette liste.

OriginalL'auteur kuzzooroo | 2014-08-26