Created
June 24, 2015 15:45
-
-
Save thanasi/7e08bc41e6a085cd2140 to your computer and use it in GitHub Desktop.
Example to create a multipage PDF with matplotlib
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# http://matplotlib.org/examples/pylab_examples/multipage_pdf.html | |
# This is a demo of creating a pdf file with several pages. | |
import datetime | |
import numpy as np | |
from matplotlib.backends.backend_pdf import PdfPages | |
import matplotlib.pyplot as plt | |
# Create the PdfPages object to which we will save the pages: | |
# The with statement makes sure that the PdfPages object is closed properly at | |
# the end of the block, even if an Exception occurs. | |
with PdfPages('multipage_pdf.pdf') as pdf: | |
plt.figure(figsize=(3, 3)) | |
plt.plot(range(7), [3, 1, 4, 1, 5, 9, 2], 'r-o') | |
plt.title('Page One') | |
pdf.savefig() # saves the current figure into a pdf page | |
plt.close() | |
plt.rc('text', usetex=True) | |
plt.figure(figsize=(8, 6)) | |
x = np.arange(0, 5, 0.1) | |
plt.plot(x, np.sin(x), 'b-') | |
plt.title('Page Two') | |
pdf.savefig() | |
plt.close() | |
plt.rc('text', usetex=False) | |
fig = plt.figure(figsize=(4, 5)) | |
plt.plot(x, x*x, 'ko') | |
plt.title('Page Three') | |
pdf.savefig(fig) # or you can pass a Figure object to pdf.savefig | |
plt.close() | |
# We can also set the file's metadata via the PdfPages object: | |
d = pdf.infodict() | |
d['Title'] = 'Multipage PDF Example' | |
d['Author'] = u'Jouni K. Sepp\xe4nen' | |
d['Subject'] = 'How to create a multipage pdf file and set its metadata' | |
d['Keywords'] = 'PdfPages multipage keywords author title subject' | |
d['CreationDate'] = datetime.datetime(2009, 11, 13) | |
d['ModDate'] = datetime.datetime.today() | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment