หากต้องการบันทึกตัวเลขหลายตัวในไฟล์ PDF ไฟล์เดียว เราสามารถทำตามขั้นตอนต่อไปนี้
ขั้นตอน
-
กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย
-
สร้างร่างใหม่ (fig1) หรือเปิดใช้งานและตัวเลขที่มีอยู่โดยใช้ figure() วิธีการ
-
พล็อตบรรทัดแรกโดยใช้ plot() วิธีการ
-
สร้างอีกร่างหนึ่ง (fig2 ) หรือเปิดใช้งานและตัวเลขที่มีอยู่โดยใช้ figure() วิธีการ
-
พล็อตบรรทัดที่สองโดยใช้ plot() วิธีการ
-
เริ่มต้นตัวแปร ชื่อไฟล์ , เพื่อสร้างไฟล์ pdf.
-
สร้างฟังก์ชันที่ผู้ใช้กำหนด save_multi_image() เพื่อบันทึกภาพหลายภาพเป็นไฟล์ PDF
-
เรียก save_multi_image() ฟังก์ชันที่มีชื่อไฟล์
-
สร้าง PdfPagesใหม่ วัตถุ
-
รับจำนวนเปิดตัวเลข
-
วนซ้ำตัวเลขที่เปิดและบันทึกลงในไฟล์
-
ปิดวัตถุ 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)
ผลลัพธ์
เมื่อดำเนินการ จะสร้าง PDF "multi.pdf" ใน Project Directory และบันทึกสองภาพต่อไปนี้ในไฟล์นั้น