Guardando gráficos en archivos pdf usando matplotlib

Quiero guardar más de 1 plot en un archivo pdf. Aquí está mi código:

import matplotlib.pyplot as plt from matplotlib.backends.backend_pdf import PdfPages def function_plot(X,Y): plt.figure() plt.clf() pp = PdfPages('test.pdf') graph = plt.title('y vs x') plt.xlabel('x axis', fontsize = 13) plt.ylabel('y axis', fontsize = 13) pp.savefig(graph) function_plot(x1,y1) function_plot(x2,y2) 

Sé que mis ideas están revueltas, pero no puedo encontrar la manera de escribir mi código. La cosa es que necesito que mis gráficas tengan tags de eje x e y.

Pude resolverlo. Mi error fue que pp.savefig() no debería tomar argumentos.

Aquí está mi código final:

 from matplotlib.backends.backend_pdf import PdfPages import numpy as np import matplotlib.pyplot as plt x1 = np.arange(10) y1 = x1**2 x2 = np.arange(20) y2 = x2**2 pp = PdfPages('test.pdf') def function_plot(X,Y): plt.figure() plt.clf() plt.plot(X,Y) plt.title('y vs x') plt.xlabel('x axis', fontsize = 13) plt.ylabel('y axis', fontsize = 13) pp.savefig() function_plot(x1,y1) function_plot(x2,y2) pp.close() 

Prueba esto.

 from matplotlib.backends.backend_pdf import PdfPages import numpy as np import matplotlib.pyplot as plt x1 = np.arange(10) y1 = x1**2 x2 = np.arange(20) y2 = x2**2 def function_plot(X,Y, pp): plt.figure() plt.clf() plt.plot(X,Y) graph = plt.title('y vs x') plt.xlabel('x axis', fontsize = 13) plt.ylabel('y axis', fontsize = 13) pp.savefig(plt.gcf()) with PdfPages('test.pdf') as pp: function_plot(x1,y1, pp) function_plot(x2,y2, pp)