Sembra che il modo standard di creare una figura in matplotlib non si comporti come mi aspetterei in python: per impostazione predefinita, la chiamata a fig = matplotlib.figure()
in un ciclo resterà su tutte le figure create, e alla fine a corto di memoria.Creare una figura conteggiata
ci sono quiteafew i messaggi che si occupano di soluzioni alternative, ma che richiedono chiamate esplicite a matplotlib.pyplot.close(fig)
sembra un po 'hacker. Quello che mi piacerebbe è un modo semplice per fare il conteggio di fig
conteggiato, quindi non dovrò preoccuparmi di perdite di memoria. C'è un modo per farlo?
È molto più simile alla gestione manuale della memoria, in questo caso la figura è una risorsa esterna (come un descrittore di file) al sistema Windowing, e 'plt.figure()' è il costruttore, mentre 'plt.close (fig) 'è il distruttore. Sebbene ci siano molti livelli di distruzione dovuti a 'clf' e' cla' e altri. In questo caso, il modo corretto per farlo sarebbe quello di usare l'idioma bracketing 'with' (" context manager "). – CMCDragonkai