I want to save more than 1 plot to a pdf file. Here is my code:
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)
I know that my ideas are scrambled but I can't find the way to write my code. The thing is that I need my graphs to have labeled x and y axis.
I was able to solve it. My mistake was that pp.savefig() should not take arguments.
Here is my final code:
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()
                        Try this.
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)
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With