首页 > 解决方案 > 如何在 Jupyter Notebook 中将函数结果输出为 pdf

问题描述

我在 Jupyter Notebook 中工作,我有一个函数可以在被调用时生成多个图。我想直接将此函数调用中的所有图保存在一个pdf下。有没有办法做到这一点?任何帮助都感激不尽!

艾莉森

标签: pythonjupyter-notebook

解决方案


您可以使用PDFPages将所有绘图保存为 pdf。您可以尝试以下示例并在您的代码中类似地实现它:

您可以创建一个plotGraph函数:

def plotGraph(X,Y):
      fig = plt.figure()
      ### Plotting code ###
      return fig

然后用它来获取您的并将它们放在您的pdf中。

from matplotlib.backends.backend_pdf import PdfPages

plot1 = plotGraph(graph1, label1)
plot2 = plotGraph(graph2, label2)
plot3 = plotGraph(graph3, label3)

pp = PdfPages('foo.pdf')
pp.savefig(plot1)
pp.savefig(plot2)
pp.savefig(plot3)
pp.close()

如果您可以将其保存为包含所有绘图的 PNG 文件,您可以尝试以下操作:

from matplotlib import pyplot as plt
fig = plt.figure()
axis1 = fig.add_subplot(211)
axis1.plot(range(10))
axis2 = fig.add_subplot(212)
axis2.plot(range(10,20))
fig.savefig('allplots.png')

这基本上会创建子图并将所有图保存在 1 个 png 文件中。


推荐阅读