Ich habe eine Schleife, die den Körper etwa 200 mal ausführt. In jeder Schleifeniteration führt es eine hochentwickelte Berechnung durch, und dann möchte ich als Debugging eine Heatmap einer NxM-Matrix erzeugen. Aber das Erzeugen dieser Heatmap ist unerträglich langsam und verlangsamt einen bereits langsamen Algorithmus erheblich.pyplot: wirklich langsam Heatmaps erstellen
Mein Code ist entlang der Linien:
import numpy
import matplotlib.pyplot as plt
for i in range(200):
matrix = complex_calculation()
plt.set_cmap("gray")
plt.imshow(matrix)
plt.savefig("frame{0}.png".format(i))
Die Matrix, aus numpy, ist nicht riesig --- 300 x 600 Doppelzimmer. Auch wenn ich die Figur nicht speichere und stattdessen eine Bildschirmdarstellung aktualisiere, ist sie noch langsamer.
Sicher muss ich pyplot missbrauchen. (Matlab kann das, kein Problem.) Wie beschleunige ich das?
Noch langsam, aber zumindest ist es jetzt erträglich. – carl