ich hab' ein kleines Problem mit der matplotlib.
Folgender Code verbraucht bei mir in jedem Schleifendurchlauf zusätzlich Speicher
Code: Alles auswählen
import numpy as np
import matplotlib.pyplot as plt
##erzeuge Nonsens-Daten
matrix = np.random.rand(10,10)
for i in range(10000):
pic = plt.figure(1)
ax = pic.add_subplot(111)
ax.imshow(matrix)
plt.savefig('test.png')
plt.close(pic)
Code: Alles auswählen
matrix = np.random.rand(10,10)
for i in range(10000):
picture = figure.Figure()
picture.add_subplot(111)
picture.gca().imshow(matrix)
picture.savefig('D:\\temp\\test.png')
picture.clf()
Weiss jemand von Euch Rat? Ich habe mich bereitst durch alle möglichen und unmöglichen Mailinglisten gelesen. Angeblich hat die Matplotlib selber keine Memory leaks, aber je nachdem wie man sie einbaut (insbesondere auch mit pylab) kann es sein, dass einige Dinge sehr lange im Speicher gehalten werden.File "c:\python25\lib\site-packages\matplotlib-0.98.5.2n1-py2.5-win32.egg\matplotlib\figure.py", line 990, in savefig
self.canvas.print_figure(*args, **kwargs)
AttributeError: 'NoneType' object has no attribute 'print_figure'
Achja, "del" oder den garbage-Collector hab' ich auch schon ausprobiert, das hat mir nicht geholfen.
Viele Grüße und vielen Dank