2015-09-02 7 views
6

Ho un rapporto da inviare automaticamente e sto usando matplotlib per farlo. Ma io non sono in grado di capire come creare una pagina vuota in l'inizio del titolo in mezzo al tipo di analisi che viene eseguitaCome creare un frontespizio per un documento PDF creato usando matplotlib

with PdfPages('review_count.pdf') as pdf: 
    for cat in self.cat_vars.keys(): 
     if len(self.cat_vars[cat]) > 1: 
      plt.figure() 
      self.cat_vars[cat].plot(kind='bar') 
      plt.title(cat) 
      # saves the current figure into a pdf page 
      pdf.savefig() 
      plt.close() 

risposta

4

Si dovrebbe solo essere in grado di creare una figura prima for ciclo con il titolo su È inoltre necessario disattivare la cornice degli assi (plt.axis('off')).

with PdfPages('review_count.pdf') as pdf: 
    plt.figure() 
    plt.axis('off') 
    plt.text(0.5,0.5,"my title",ha='center',va='center') 
    pdf.savefig() 
    plt.close() 
    for cat in self.cat_vars.keys(): 
     if len(self.cat_vars[cat]) > 1: 
      plt.figure() 
      self.cat_vars[cat].plot(kind='bar') 
      plt.title(cat) 
      # saves the current figure into a pdf page 
      pdf.savefig() 
      plt.close() 
+1

Grazie ha funzionato !. Oltre a questo, se aggiungete 'plt.axis (' off ')' rimuoverà anche l'asse –

+1

@BharathKumar grazie, ho aggiornato la risposta con quello. Inoltre, hai realizzato che devi impostare l'allineamento verticale e orizzontale per ottenere il titolo al centro – tom

Problemi correlati