ขั้นตอนการทำงาน
กำหนดขนาดรูปภาพและปรับระยะห่างรอบๆ subplots
สร้าง Figure ใหม่ (fig1) พล็อตเส้นแรก
สร้าง Figure ใหม่ (fig2) พล็อตเส้นที่สอง
กำหนดชื่อไฟล์ PDF
สร้างฟังก์ชัน save_multi_image() เพื่อบันทึกหลายรูปใน PDF เดียว
เรียกใช้ฟังก์ชันพร้อมชื่อไฟล์
สร้างอ็อบเจกต์ PdfPages
ดึงหมายเลข Figure ที่เปิดอยู่ทั้งหมด
วนลูปบันทึกแต่ละ Figure ลงใน PDF
ปิดอ็อบเจกต์ PDF
ตัวอย่างโค้ด
from matplotlib import pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
fig1 = plt.figure()
plt.plot([2, 1, 7, 1, 2], color='red', lw=5)
fig2 = plt.figure()
plt.plot([3, 5, 1, 5, 3], color='green', lw=5)
def save_multi_image(filename):
pp = PdfPages(filename)
fig_nums = plt.get_fignums()
figs = [plt.figure(n) for n in fig_nums]
for fig in figs:
fig.savefig(pp, format='pdf')
pp.close()
filename = "multi.pdf"
save_multi_image(filename)
ผลลัพธ์
สร้างไฟล์ "multi.pdf" ในไดเรกทอรีโปรเจกต์ ประกอบด้วย 2 หน้า: หน้าที่ 1 กราฟเส้นสีแดง หน้าที่ 2 กราฟเส้นสีเขียว
ประโยชน์: เหมาะสำหรับการสร้างรายงาน PDF หลายหน้า จากหลายกราฟอัตโนมัติ