mirror of
https://github.com/Estom/notes.git
synced 2026-04-10 14:28:00 +08:00
matplotlib & pandas
This commit is contained in:
54
Python/matplotlab/gallery/misc/multipage_pdf.md
Normal file
54
Python/matplotlab/gallery/misc/multipage_pdf.md
Normal file
@@ -0,0 +1,54 @@
|
||||
# 多页PDF
|
||||
|
||||
这是一个创建包含多个页面的pdf文件,以及向pdf文件添加元数据和注释的演示。
|
||||
|
||||
如果要使用LaTeX使用多页pdf文件,则需要使用 ``matplotlib.backends.backend_pgf`` 导入PdfPages。 但是这个版本不支持 ``attach_note``。
|
||||
|
||||
```python
|
||||
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()
|
||||
|
||||
# if LaTeX is not installed or error caught, change to `usetex=False`
|
||||
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.attach_note("plot of sin(x)") # you can add a pdf note to
|
||||
# attach metadata to a page
|
||||
pdf.savefig()
|
||||
plt.close()
|
||||
|
||||
plt.rc('text', usetex=False)
|
||||
fig = plt.figure(figsize=(4, 5))
|
||||
plt.plot(x, x ** 2, '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'] = '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()
|
||||
```
|
||||
|
||||
## 下载这个示例
|
||||
|
||||
- [下载python源码: multipage_pdf.py](https://matplotlib.org/_downloads/multipage_pdf.py)
|
||||
- [下载Jupyter notebook: multipage_pdf.ipynb](https://matplotlib.org/_downloads/multipage_pdf.ipynb)
|
||||
Reference in New Issue
Block a user