modul merencanakan
def plotGraph(X,Y):
fignum = random.randint(0,sys.maxint)
plt.figure(fignum)
### Plotting arrangements ###
return fignum
modul utama
import matplotlib.pyplot as plt
### tempDLStats, tempDLlabels are the argument
plot1 = plotGraph(tempDLstats, tempDLlabels)
plot2 = plotGraph(tempDLstats_1, tempDLlabels_1)
plot3 = plotGraph(tempDLstats_2, tempDLlabels_2)
plt.show()
Saya ingin menyimpan semua grafik plot1, plot2, plot3 ke satu file PDF. Apakah ada cara untuk mencapainya? Saya tidak dapat menyertakan plotGraph
fungsi dalam modul utama.
Ada fungsi bernama pylab.savefig
tetapi tampaknya hanya berfungsi jika ditempatkan bersama dengan modul plotting. Apakah ada cara lain untuk melakukannya?
python
matplotlib
VoodooChild92
sumber
sumber
Untuk beberapa plot dalam satu file pdf Anda dapat menggunakan PdfPages
Dalam
plotGraph
fungsi tersebut Anda harus mengembalikan angka dan daripada memanggilsavefig
objek angka.------ modul perencanaan ------
def plotGraph(X,Y): fig = plt.figure() ### Plotting arrangements ### return fig
------ modul perencanaan ------
----- mainModule ----
from matplotlib.backends.backend_pdf import PdfPages plot1 = plotGraph(tempDLstats, tempDLlabels) plot2 = plotGraph(tempDLstats_1, tempDLlabels_1) plot3 = plotGraph(tempDLstats_2, tempDLlabels_2) pp = PdfPages('foo.pdf') pp.savefig(plot1) pp.savefig(plot2) pp.savefig(plot3) pp.close()
sumber
import datetime import numpy as np from matplotlib.backends.backend_pdf import PdfPages import matplotlib.pyplot as plt # Create the PdfPages object to which we will save the pages: # The with statement makes sure that the PdfPages object is closed properly at # the end of the block, even if an Exception occurs. with PdfPages('multipage_pdf.pdf') as pdf: plt.figure(figsize=(3, 3)) plt.plot(range(7), [3, 1, 4, 1, 5, 9, 2], 'r-o') plt.title('Page One') pdf.savefig() # saves the current figure into a pdf page plt.close() plt.rc('text', usetex=True) plt.figure(figsize=(8, 6)) x = np.arange(0, 5, 0.1) plt.plot(x, np.sin(x), 'b-') plt.title('Page Two') pdf.savefig() plt.close() plt.rc('text', usetex=False) fig = plt.figure(figsize=(4, 5)) plt.plot(x, x*x, 'ko') plt.title('Page Three') pdf.savefig(fig) # or you can pass a Figure object to pdf.savefig plt.close() # We can also set the file's metadata via the PdfPages object: d = pdf.infodict() d['Title'] = 'Multipage PDF Example' d['Author'] = u'Jouni K. Sepp\xe4nen' d['Subject'] = 'How to create a multipage pdf file and set its metadata' d['Keywords'] = 'PdfPages multipage keywords author title subject' d['CreationDate'] = datetime.datetime(2009, 11, 13) d['ModDate'] = datetime.datetime.today()
sumber
plt.show()
letakkan setelahpdf.savefig()
.Tidak masalah punya cara untuk melakukannya.
def plotGraph(X,Y): fignum = random.randint(0,sys.maxint) fig = plt.figure(fignum) ### Plotting arrangements ### return fig
------ modul perencanaan ------
----- mainModule ----
import matplotlib.pyplot as plt ### tempDLStats, tempDLlabels are the argument plot1 = plotGraph(tempDLstats, tempDLlabels) plot2 = plotGraph(tempDLstats_1, tempDLlabels_1) plot3 = plotGraph(tempDLstats_2, tempDLlabels_2) plt.show() plot1.savefig('plot1.png') plot2.savefig('plot2.png') plot3.savefig('plot3.png')
----- mainModule -----
sumber