0

I'm trying to save my output (70+ graphs) from jyputer notebook into pdf file. No errors or whatsoever, but only the first graph is being exported. Can anyone please help me to understand what is wrong?

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.backends.backend_pdf

pdf = matplotlib.backends.backend_pdf.PdfPages("output.pdf")
df_num = df.select_dtypes(include = ['float64', 'int64'])

with PdfPages(r'output.pdf') as export_pdf:
    fig = plt.figure(figsize=(12,12))
    for col in df_num.columns:
        hist = df_num[col].hist(bins=10)
        print("Plotting for column {}".format(col))
        plt.title("{}".format(col), fontsize=20) 
        plt.show()        
    export_pdf.savefig(fig)       
Luba Weissmann
  • 187
  • 1
  • 1
  • 8
  • Does this answer your question? [Python saving multiple figures into one PDF file](https://stackoverflow.com/questions/17788685/python-saving-multiple-figures-into-one-pdf-file) – Joseph Farah Jul 04 '23 at 17:16

1 Answers1

2

OK, eventually i figured it out. here is my solution:

with PdfPages(r'output_dist.pdf') as export_pdf:
    
    for col in df_f.columns:
        fig = plt.figure(figsize=(12,12))
        hist = df_f[col].hist(bins=10)
        print("Plotting for column {}".format(col))
        plt.title("{}".format(col), fontsize=20) 
        plt.show()
        
        export_pdf.savefig(fig)
        
Luba Weissmann
  • 187
  • 1
  • 1
  • 8