在一个pdf页面中保存多个数字,matplotlib

时间:2015-09-18 12:55:56

标签: python pdf matplotlib

我试图在一个pdf页面中获取我的数据,但我不知道该怎么做。我发现可以使用'matplotlib.backends.backend_pdf'在pdf文件中保存多个数字,但它不适用于一个页面。 有没有人有任何想法?将数字转换为一个数字?

3 个答案:

答案 0 :(得分:1)

您可以使用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()

您可以更改行和列值,并可以细分这些部分。

答案 1 :(得分:0)

这是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")

答案 2 :(得分:0)

PDF后端每个图形一页。使用子图将多个图绘制成一个图形,它们将一起显示在PDF的一页上。