He conservado un conjunto de referencias a figuras en un diccionario para poder guardarlas más adelante si así lo desea. Me preocupa que las cifras guardadas estén en blanco si se invoca un comando show()
y las veo primero. Desde los show()
bloques de comandos y no estoy usando un intérprete de spyder-como, tengo que cerrar las cifras antes de llegar a savefig()
figuras matplotlib que desaparecen entre show() y savefig()
figures['myfig_1'] = figure()
...
figures['myfig_n'] = figure()
...
#show() #disabling this makes the problem go away
print "Saving:"
for fig in figures:
figure(figures[fig].number)
savefig(fig)
print "Figure " + str(figures[fig].number) + ": " + fig
La sentencia print aquí me ha dado la indicación de que el diccionario está todavía intacta, que creo que significa que no he perdido las referencias de figura (todavía están devolviendo números significativos en su atributo .number
)
Otro giro que he notado es que cuando he hecho algo similar en una clase, guardo el diccionario como miembro y dividiendo la tienda y guardando las funciones en sus propios métodos, esto no sucede. ¿Hay algo en la forma en que estoy cerrando las cifras o almacenando los datos que hacen que las cifras pierdan sus datos?
Encontré una respuesta, pero no puedo agregarla durante 8 horas. Ratas ... La versión corta es que cambié mi backend de representación a 'TkAgg' por ahora hasta que descubro cómo hacer para que Qt4Agg se comporte de la manera que me gustaría. – 2NinerRomeo