【发布时间】:2015-09-18 12:55:55
【问题描述】:
我试图在一个 pdf 页面中获取我的数字,但我不知道如何做到这一点。我发现可以使用“matplotlib.backends.backend_pdf”将多个图形保存在一个 pdf 文件中,但它不适用于一页。 有没有人有任何想法?将数字转换为一个数字?
【问题讨论】:
标签: python pdf matplotlib
我试图在一个 pdf 页面中获取我的数字,但我不知道如何做到这一点。我发现可以使用“matplotlib.backends.backend_pdf”将多个图形保存在一个 pdf 文件中,但它不适用于一页。 有没有人有任何想法?将数字转换为一个数字?
【问题讨论】:
标签: python pdf matplotlib
您可以使用 matplotlib gridspec 在 1 个窗口中绘制多个图
http://matplotlib.org/users/gridspec.html
from matplotlib.gridspec import GridSpec
import random
import numpy
from matplotlib import pyplot as pl
fig = pl.figure(figsize=(12, 16))
G = GridSpec(2,2)
axes_1 = pl.subplot(G[0, :])
x = [random.gauss(3,1) for _ in range(400)]
bins = numpy.linspace(-10, 10, 100)
axes_1.hist(x, bins, alpha=0.5, label='x')
axes_2 = pl.subplot(G[1, :])
axes_2.plot(x)
pl.tight_layout()
pl.show()
您可以更改行和列的值并可以细分部分。
【讨论】:
PDF 后端为每个图制作一页。使用子图将多个图合并到一个图中,它们将一起显示在 PDF 的一页上。
【讨论】:
这里是matplotlib提供的解决方案:
from matplotlib.backends.backend_pdf import PdfPages
import matplotlib.pyplot as plt
with PdfPages('foo.pdf') as pdf:
#As many times as you like, create a figure fig and save it:
fig = plt.figure()
pdf.savefig(fig)
....
fig = plt.figure()
pdf.savefig(fig)
瞧
在此处查找完整示例:multipage pdf matplotlib
顺便说一句,对于一个数字,您不需要matplotlib.backends.backend_pdf,只需像这样添加 pdf 扩展名:
plt.savefig("foo.pdf")
【讨论】: