2015-04-03 19 views
5

groupby'a göre yaklaşık 50 grafik oluşturan bir kod var. Kod şöyle görünür: Bu sadece bir rakam, (benim serideki sonuncusu) Benim rakamlar tüm istiyoruz kaydediyorMatplotlib'de bir pdf dosyasına birden fazla sayı kaydetme

import matplotlib.pyplot as plt 
from matplotlib.backends.backend_pdf import PdfPages 

with PdfPages('foo.pdf') as pdf: 
    for i, group in df.groupby('station_id'): 
     plt.figure() 


fig=group.plot(x='year', y='Value',title=str(i)).get_figure() 
pdf.savefig(fig) 

bir pdf içine saklanacak. Herhangi bir yardım takdir edilecektir.

+0

... i 'incir = grup ...' gitmeli varsayalım senin döngü –

+0

yüzden size pdf dosyası yaklaşık 50 sayfaları var istemediğini biliyoruz yapmak, her sayfa ile için farklı bir figür? –

+0

Bu doğru. Sanırım, sayfa başına birden çok sayıya sahip olmama rağmen, yukarıdaki kodla ilgili niyetim sayfa başına bir rakam elde etmektir. Girintim yanlış olabilir, hala python için oldukça yeni. –

cevap

7

Kodunuzda bir girinti hatası var. Çizim komutunuz döngüde olmadığından, yalnızca son grafiği oluşturacaktır.

import matplotlib.pyplot as plt 
from matplotlib.backends.backend_pdf import PdfPages 

with PdfPages('foo.pdf') as pdf: 
    for i, group in df.groupby('station_id'): 
     plt.figure() 
     fig=group.plot(x='year', y='Value',title=str(i)).get_figure() 
     pdf.savefig(fig) 
sizin girinti yanlış görünüyor
İlgili konular