Thanks to visit codestin.com
Credit goes to www.tutorialspoint.com

Save Multiple Figures to One PDF File in Matplotlib



To save multiple figures in one PDF file at once, we can take follwong steps

Steps

  • Set the figure size and adjust the padding between and around the subplots.

  • Create a new figure (fig1) or activate and existing figure using figure() method.

  • Plot the first line using plot() method.

  • Create another figure (fig2) or activate and existing figure using figure() method.

  • Plot the second line using plot() method.

  • Initialize a variable, filename, to make a pdf file.

  • Create a user-defined function save_multi_image() to save multiple images in a PDF file.

  • Call the save_multi_image() function with filename.

  • Create a new PdfPages object.

  • Get the number of open figures.

  • Iterate the opened figures and save them into the file.

  • Close the created PDF object.

Example

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

plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

fig1 = plt.figure()
plt.plot([2, 1, 7, 1, 2], color='red', lw=5)

fig2 = plt.figure()
plt.plot([3, 5, 1, 5, 3], color='green', lw=5)


def save_multi_image(filename):
    pp = PdfPages(filename)
    fig_nums = plt.get_fignums()
    figs = [plt.figure(n) for n in fig_nums]
    for fig in figs:
        fig.savefig(pp, format='pdf')
    pp.close()

filename = "multi.pdf"
save_multi_image(filename)

Output

Upon execution, it will create a PDF "multi.pdf" in the Project Directory and save the following two images in that file.

Updated on: 2021-10-09T09:06:44+05:30

5K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements