- 利用Python解決數學問題(原書第2版)
- (英)薩姆·莫利
- 889字
- 2025-08-07 15:28:37
2.5 保存Matplotlib圖形
在交互式環境(比如IPython控制臺或Jupyter notebook)中,實時顯示圖形是非常正常的。然而,在很多情況下,將圖形直接存儲到文件中比在屏幕上渲染更合適。在接下來的例子中,我們將學習如何將圖形直接保存到文件中,而不是在屏幕上顯示它。
2.5.1 準備工作
你需要準備繪圖數據以及存儲輸出結果的路徑或文件對象。我們將結果存儲到當前目錄中的savingfigs.png文件中。在這個例子中,我們將繪制以下數據:

讓我們看看如何使用Matplotlib繪制這條曲線,并將生成的圖形保存到文件中(無須與繪圖用戶界面進行交互)。
2.5.2 實現方法
以下步驟演示了如何將Matplotlib圖形直接保存到文件中:
1.像往常一樣創建圖形,并添加必要的標簽、標題和注釋。圖形將以當前狀態寫入文件,因此對圖形的任何更改都需在保存之前完成:

2.我們對fig使用savefig方法,將這個圖保存到文件中。唯一需要的參數是輸出路徑或可以寫入圖形的類文件對象。我們可以通過提供適當的關鍵字參數來調整輸出格式的各種設置,比如分辨率。我們設置輸出圖的每英寸點數(DPI)為300,這對大多數應用來說是一個合理的分辨率。

Matplotlib會根據給定文件的擴展名推斷我們希望將圖形保存為可移植網絡圖形(PNG)格式?;蛘?,可以通過關鍵字參數(使用format關鍵字)顯式地設置格式,否則它將從配置文件中退回到默認格式。
2.5.3 原理解析
savefig方法會為輸出格式選擇合適的后端,然后以該格式渲染當前的圖形。生成的圖像數據將寫入指定的路徑或類文件對象中。如果你手動創建了一個Figure實例,則可以通過在該實例上調用savefig方法來實現相同的效果。
2.5.4 更多內容
savefig例程需要一些額外的可選關鍵字參數來自定義輸出圖像。例如,可以使用dpi關鍵字指定圖像的分辨率。本章中的圖形就是通過將Matplotlib圖形保存到文件中生成的。
可用的輸出格式包括PNG、可縮放矢量圖形(SVG)、PostScript(PS)、封裝的PostScript(EPS)和便攜式文檔格式(PDF)。如果安裝了Pillow包,圖形還可以保存為JPEG格式,但從Matplotlib 3.1版本開始,Matplotlib不再原生支持JPEG格式。對于JPEG圖像,還有一些額外的自定義關鍵字參數,例如quality和optimize??梢酝ㄟ^metadata關鍵字傳遞圖像元數據字典,在保存時將該字典寫為圖像元數據。
2.5.5 另請參閱
請參考Matplotlib官方網站上的示例庫,它包含了使用幾種常見的Python圖形用戶界面(GUI)框架將Matplotlib圖形嵌入GUI應用程序的示例。
- Modular Programming with Python
- 微服務設計原理與架構
- 云原生Spring實戰
- Python Geospatial Development(Second Edition)
- Web全棧工程師的自我修養
- Java程序設計:原理與范例
- App Inventor創意趣味編程進階
- Raspberry Pi Robotic Blueprints
- 零基礎C#學習筆記
- Python網絡爬蟲實例教程(視頻講解版)
- 官方 Scratch 3.0 編程趣味卡:讓孩子們愛上編程(全彩)
- Java高手是怎樣煉成的:原理、方法與實踐
- Wearable:Tech Projects with the Raspberry Pi Zero
- C語言程序設計教程
- Building UIs with Wijmo