Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

บันทึกตัวเลข Matplotlib ที่เปิดอยู่ในไฟล์เดียวในครั้งเดียว


ในการบันทึกตัวเลข 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) ในไดเรกทอรีโครงการ

บันทึกตัวเลข Matplotlib ที่เปิดอยู่ในไฟล์เดียวในครั้งเดียว บันทึกตัวเลข Matplotlib ที่เปิดอยู่ในไฟล์เดียวในครั้งเดียว