savefig pyplot images python matplotlib pandas

pyplot - Guardar parcelas(AxesSubPlot) generadas a partir de pandas python con matplotlib''s savefig



plt.savefig size (3)

Así que no estoy del todo seguro de por qué funciona, pero guarda una imagen con mi trama:

dtf = pd.DataFrame.from_records(d,columns=h) dtf2.plot() fig = plt.gcf() fig.savefig(''output.png'')

Supongo que el último fragmento de mi publicación original se guardó en blanco porque la figura nunca obtuvo los ejes generados por los pandas. Con el código anterior, el objeto figura es devuelto desde un estado global mágico por la llamada gcf () (obtener la figura actual), que automáticamente se cuece en los ejes trazados en la línea superior.

Estoy usando pandas para generar un diagrama de un marco de datos, que me gustaría guardar en un archivo:

dtf = pd.DataFrame.from_records(d,columns=h) fig = plt.figure() ax = dtf2.plot() ax = fig.add_subplot(ax) fig.savefig(''~/Documents/output.png'')

Parece que la última línea, usando savefig de matplotlib, debería ser el truco. Pero ese código produce el siguiente error:

Traceback (most recent call last): File "./testgraph.py", line 76, in <module> ax = fig.add_subplot(ax) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/figure.py", line 890, in add_subplot assert(a.get_figure() is self) AssertionError

Alternativamente, tratando de llamar a savefig directamente en la trama también se equivoca:

dtf2.plot().savefig(''~/Documents/output.png'') File "./testgraph.py", line 79, in <module> dtf2.plot().savefig(''~/Documents/output.png'') AttributeError: ''AxesSubplot'' object has no attribute ''savefig''

Creo que necesito agregar de alguna manera la subparcela devuelta por plot () a una figura para usar savefig. También me pregunto si esto tiene que ver con la magic detrás de la clase AxesSubPlot.

EDITAR:

los siguientes trabajos (sin generar ningún error), pero me deja con una imagen de página en blanco ...

fig = plt.figure() dtf2.plot() fig.savefig(''output.png'')


El método gcf está privado en V 0.14. El siguiente código funciona para mí:

plot = dtf.plot() fig = plot.get_figure() fig.savefig("output.png")


Me parece fácil usar la función plt.savefig () después de la función plot ():

import matplotlib.pyplot as plt dtf = pd.DataFrame.from_records(d,columns=h) dtf.plot() plt.savefig(''~/Documents/output.png'')