您可以定义绘图功能,例如
import numpy as npimport matplotlib.pyplot as plt# an example graph typedef fig_barh(ylabels, xvalues, title=''): # create a new figure fig = plt.figure() # plot to it yvalues = 0.1 + np.arange(len(ylabels)) plt.barh(yvalues, xvalues, figure=fig) yvalues += 0.4 plt.yticks(yvalues, ylabels, figure=fig) if title: plt.title(title, figure=fig) # return it return fig
然后像
from matplotlib.backends.backend_pdf import PdfPagesdef write_pdf(fname, figures): doc = PdfPages(fname) for fig in figures: fig.savefig(doc, format='pdf') doc.close()def main(): a = fig_barh(['a','b','c'], [1, 2, 3], 'Test #1') b = fig_barh(['x','y','z'], [5, 3, 1], 'Test #2') write_pdf('test.pdf', [a, b])if __name__=="__main__": main()


