|
2 | 2 |
|
3 | 3 | import datetime
|
4 | 4 | import numpy as np
|
5 |
| -import matplotlib |
6 | 5 | from matplotlib.backends.backend_pdf import PdfPages
|
7 |
| -from pylab import * |
| 6 | +import matplotlib.pyplot as plt |
8 | 7 |
|
9 | 8 | # Create the PdfPages object to which we will save the pages:
|
10 |
| -pdf = PdfPages('multipage_pdf.pdf') |
| 9 | +# The with statement makes sure that the PdfPages object is closed properly at |
| 10 | +# the end of the block, even if an Exception occurs. |
| 11 | +with PdfPages('multipage_pdf.pdf') as pdf: |
| 12 | + plt.figure(figsize=(3, 3)) |
| 13 | + plt.plot(range(7), [3, 1, 4, 1, 5, 9, 2], 'r-o') |
| 14 | + plt.title('Page One') |
| 15 | + pdf.savefig() # saves the current figure into a pdf page |
| 16 | + plt.close() |
11 | 17 |
|
12 |
| -figure(figsize=(3,3)) |
13 |
| -plot(range(7), [3,1,4,1,5,9,2], 'r-o') |
14 |
| -title('Page One') |
15 |
| -savefig(pdf, format='pdf') # note the format='pdf' argument! |
16 |
| -close() |
| 18 | + plt.rc('text', usetex=True) |
| 19 | + plt.figure(figsize=(8, 6)) |
| 20 | + x = np.arange(0, 5, 0.1) |
| 21 | + plt.plot(x, np.sin(x), 'b-') |
| 22 | + plt.title('Page Two') |
| 23 | + pdf.savefig() |
| 24 | + plt.close() |
17 | 25 |
|
18 |
| -rc('text', usetex=True) |
19 |
| -figure(figsize=(8,6)) |
20 |
| -x = np.arange(0,5,0.1) |
21 |
| -plot(x, np.sin(x), 'b-') |
22 |
| -title('Page Two') |
23 |
| -pdf.savefig() # here's another way - or you could do pdf.savefig(1) |
24 |
| -close() |
| 26 | + plt.rc('text', usetex=False) |
| 27 | + fig = plt.figure(figsize=(4, 5)) |
| 28 | + plt.plot(x, x*x, 'ko') |
| 29 | + plt.title('Page Three') |
| 30 | + pdf.savefig(fig) # or you can pass a Figure object to pdf.savefig |
| 31 | + plt.close() |
25 | 32 |
|
26 |
| -rc('text', usetex=False) |
27 |
| -fig=figure(figsize=(4,5)) |
28 |
| -plot(x, x*x, 'ko') |
29 |
| -title('Page Three') |
30 |
| -pdf.savefig(fig) # or you can pass a Figure object to pdf.savefig |
31 |
| -close() |
32 |
| - |
33 |
| -# We can also set the file's metadata via the PdfPages object: |
34 |
| -d = pdf.infodict() |
35 |
| -d['Title'] = 'Multipage PDF Example' |
36 |
| -d['Author'] = u'Jouni K. Sepp\xe4nen' |
37 |
| -d['Subject'] = 'How to create a multipage pdf file and set its metadata' |
38 |
| -d['Keywords'] = 'PdfPages multipage keywords author title subject' |
39 |
| -d['CreationDate'] = datetime.datetime(2009,11,13) |
40 |
| -d['ModDate'] = datetime.datetime.today() |
41 |
| - |
42 |
| -# Remember to close the object - otherwise the file will not be usable |
43 |
| -pdf.close() |
| 33 | + # We can also set the file's metadata via the PdfPages object: |
| 34 | + d = pdf.infodict() |
| 35 | + d['Title'] = 'Multipage PDF Example' |
| 36 | + d['Author'] = u'Jouni K. Sepp\xe4nen' |
| 37 | + d['Subject'] = 'How to create a multipage pdf file and set its metadata' |
| 38 | + d['Keywords'] = 'PdfPages multipage keywords author title subject' |
| 39 | + d['CreationDate'] = datetime.datetime(2009, 11, 13) |
| 40 | + d['ModDate'] = datetime.datetime.today() |
0 commit comments