ในการบันทึกตัวเลข Matplotlib ที่เปิดอยู่ในไฟล์เดียว เราสามารถทำตามขั้นตอนต่อไปนี้ -
- กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย
- สร้างร่างใหม่ (fig1) หรือเปิดใช้งานตัวเลขที่มีอยู่โดยใช้ figure() วิธีการ
- พล็อตบรรทัดแรกโดยใช้ plot() วิธีการ
- สร้างร่างใหม่ (fig2) หรือเปิดใช้งานตัวเลขที่มีอยู่โดยใช้ figure() วิธีการ
- พล็อตบรรทัดที่สองโดยใช้ plot() วิธีการ
- เริ่มต้นตัวแปร ชื่อไฟล์ , เพื่อสร้างไฟล์ pdf.
- สร้างฟังก์ชันกำหนดโดยผู้ใช้ save_multi_image และเรียกมันเพื่อบันทึกตัวเลข matplotlib ที่เปิดอยู่ในไฟล์เดียวในครั้งเดียว สร้าง PdfPagesใหม่ วัตถุ หน้า
- รับจำนวนตัวเลขที่เปิดอยู่
- วนซ้ำตัวเลขที่เปิดอยู่และบันทึกลงในไฟล์
- หากต้องการแสดงรูป ให้ใช้ show() วิธีการ
ตัวอย่าง
from matplotlib import pyplot as plt from matplotlib.backends.backend_pdf import PdfPages plt.rcParams["figure.figsize"] = [7.50, 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) ในไดเรกทอรีโครงการ