[英]Save multiple figures in one pdf page, matplotlib
我正在尝试仅在一个pdf页面中获取数据,但是我不知道该怎么做。 我发现可以使用“ matplotlib.backends.backend_pdf”将多个图形保存在pdf文件中,但是它仅对一页无效。 有任何想法吗? 将数字转换成一个数字?
您可以使用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()
您可以更改行和列的值,并可以细分各个部分。
这是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)
瞧
在此处找到完整的示例: 多页pdf matplotlib
顺便说一句,对于一个数字,您不需要matplotlib.backends.backend_pdf
只需添加pdf扩展名,如下所示:
plt.savefig("foo.pdf")
PDF后端每个图一页。 使用子图将多个图绘制成一个图形,它们都将一起显示在PDF的一页上。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.