Ошибки Matplotlib приводят к утечке памяти. Как я могу освободить эту память?

Я запускаю приложение django, которое включает matplotlib и позволяет пользователю указывать оси графика. Это может привести к «Ошибка переполнения: превышена сложность агрегирования»

. Когда это происходит, до 100 МБ ОЗУ становятся занятыми. Обычно я освобождаю эту память с помощью fig.gcf () , plot.close () и gc.collect () , но память, связанная с ошибка, похоже, не связана с сюжетным объектом.

Кто-нибудь знает, как я могу освободить эту память?

Спасибо.

Вот код, который дает мне ошибку Agg Complexity.

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import numpy as np      
import gc

a = np.arange(1000000)
b = np.random.randn(1000000)

fig = plt.figure(num=1, dpi=100, facecolor='w', edgecolor='w')
fig.set_size_inches(10,7)
ax = fig.add_subplot(111)
ax.plot(a, b)

fig.savefig('yourdesktop/random.png')   # code gives me an error here

fig.clf()    # normally I use these lines to release the memory
plt.close()
del a, b
gc.collect()
11
задан sequoia 19 August 2011 в 18:20
поделиться