一次性將所有開啟的 Matplotlib 圖形儲存到一個檔案中


要一次性將所有開啟的 Matplotlib 圖形儲存到一個檔案中,我們可以採取以下步驟:

  • 設定圖形大小並調整子圖之間和周圍的填充。
  • 使用 **figure()** 方法建立一個新的圖形 **(fig1)** 或啟用一個現有的圖形。
  • 使用 **plot()** 方法繪製第一條線。
  • 使用 **figure()** 方法建立一個新的圖形 **(fig2)** 或啟用一個現有的圖形。
  • 使用 **plot()** 方法繪製第二條線。
  • 初始化一個變數 **filename**,以建立一個 pdf 檔案。
  • 建立一個使用者定義的函式 **save_multi_image**,並呼叫它來一次性將所有開啟的 matplotlib 圖形儲存到一個檔案中。建立一個新的 **PdfPages** 物件 **pp**。
  • 獲取開啟的圖形數量。
  • 迭代開啟的圖形並將它們儲存到檔案中。
  • 要顯示圖形,請使用 **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)** 儲存到專案目錄中。

更新於: 2021年6月18日

5K+ 次檢視

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.