2016-10-02 4 views
0

Ich benutze die folgende Funktion, ich bekomme das Diagramm im Fenster angezeigt, aber die gespeicherte Figur ist leer.Leere Abbildung in Pyplot

import matplotlib.pyplot as plt 
from sklearn.manifold import TSNE 

def plot_embeddings(embeddings, names): 
model = TSNE(n_components=2, random_state=0) 
vectors = model.fit_transform(embeddings) 
x, y = vectors[:, 0], vectors[:, 1] 
fig, ax = plt.subplots() 
ax.scatter(x, y) 
for i, tname in enumerate(names): 
    ax.annotate(tname, (x[i], y[i])) 
plt.show() 
plt.savefig('foo.png', bbox_inches='tight') 

Ich habe keine Lösung gefunden, die funktioniert.

+1

Verwenden Sie 'savefig()' vor 'show()' – furas

+0

@furas wissen Sie, warum 'show()' löscht das Bild? – mengg

+0

@furas PLZ es als Antwort setzen, werde ich akzeptieren. Vielen Dank. – John77

Antwort

1

Verwenden savefig() vor show()

show() offene Fenstern und warten Sie, bis Sie sie schließen und vielleicht, wenn es Fenster schließt mich dann löscht es Bild.