module de traçage
def plotGraph(X,Y):
fignum = random.randint(0,sys.maxint)
plt.figure(fignum)
### Plotting arrangements ###
return fignum
module principal
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()
Je veux enregistrer tous les graphiques plot1, plot2, plot3 dans un seul fichier PDF. Y a-t-il un moyen d'y parvenir? Je ne peux pas inclure la plotGraph
fonction dans le module principal.
Il existe une fonction nommée pylab.savefig
mais qui ne semble fonctionner que si elle est placée avec le module de traçage. Y a-t-il un autre moyen de l'accomplir?
python
matplotlib
VaudouEnfant92
la source
la source
Pour plusieurs parcelles dans un seul fichier pdf, vous pouvez utiliser PdfPages
Dans la
plotGraph
fonction, vous devez renvoyer la figure et l'appelsavefig
de l'objet figure.------ module de traçage ------
def plotGraph(X,Y): fig = plt.figure() ### Plotting arrangements ### return fig
------ module de traçage ------
----- 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()
la source
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()
la source
plt.show()
mettez-le aprèspdf.savefig()
.Peu importe comment le faire.
def plotGraph(X,Y): fignum = random.randint(0,sys.maxint) fig = plt.figure(fignum) ### Plotting arrangements ### return fig
------ module de traçage ------
----- 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 -----
la source