Сохранение графиков в PDF-файлы с помощью matplotlib
Я хочу сохранить более 1 сюжет в PDF-файл. Вот мой код:
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)
Я знаю, что мои идеи разбиты, но я не могу найти способ написать свой код. Дело в том, что мои графики должны быть обозначены осями X и Y.
2 ответа
Решение
Я смог решить это. Моя ошибка была в том, что pp.savefig()
не должен принимать аргументы.
Вот мой окончательный код:
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()
Попробуй это.
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)