Matplotlib - 儲存圖形



Matplotlib 庫中的儲存圖形功能允許我們將繪圖匯出為各種檔案格式,例如 PNG、PDF、SVG 等,以便在各種報告、簡報或出版物中使用這些儲存的繪圖。Matplotlib 庫提供 savefig() 函式來儲存我們建立的繪圖。

常見的儲存檔案格式

  • PNG (.png) − 適用於支援透明度的通用影像。

  • JPEG (.jpg) − 適用於具有平滑漸變的影像,但由於壓縮可能會損失一些質量。

  • PDF (.pdf) − 理想的基於向量的影像,可縮放且不會損失質量。

  • SVG (.svg) − 可縮放向量圖形,適用於基於 Web 或向量的圖形。

在 Matplotlib 庫中儲存圖形對於以各種格式儲存視覺化結果非常有用,確保可以根據需要在不同的上下文中共享、使用或嵌入它們。調整檔案格式和解析度允許我們根據您的需求在影像質量和檔案大小之間取得平衡。

語法

以下是使用 savefig() 方法的語法和引數。

plt.savefig(fname, dpi=None, bbox_inches='tight', pad_inches=0.1, format=None, kwargs)

其中,

  • fname − 要儲存圖形的檔名或路徑。副檔名決定檔案格式,例如 ".png"".pdf"

  • dpi − 每英寸點數,即儲存圖形的解析度。預設為 "None",使用 Matplotlib 預設值。

  • bbox_inches − 指定要儲存圖形的哪一部分。選項包括 'tight'、'standard' 或以英寸為單位指定的邊界框。

  • pad_inches − 當 bbox_inches='tight' 時,圖形周圍的填充。

  • format − 顯式指定檔案格式。如果為 'None',則從 fname 中的副檔名推斷格式。

  • kwargs − 特定於所選檔案格式的其他關鍵字引數。

在指定位置儲存繪圖

在這個例子中,我們使用 plot() 函式建立一個簡單的線形圖,然後嘗試將繪圖影像以指定的檔名儲存在指定的位置。

示例

import matplotlib.pyplot as plt
# Data
x = [22,1,7,2,21,11,14,5]
y = [24,2,12,5,5,5,9,12]
plt.plot(x,y)

# Customize the plot (optional)
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Simple Line Plot')

# Display the plot
plt.savefig('matplotlib/Savefig/lineplot.png')
plt.show()
輸出

執行上述程式碼後,我們將得到以下輸出:

Line Plot

以 .svg 格式儲存繪圖

這是另一個使用 savefig() 儲存繪圖的示例,指定檔案格式為 svg,並將 dpi 設定為 300 以設定解析度。

示例

import matplotlib.pyplot as plt
# Data
x = [22,1,7,2,21,11,14,5]
y = [24,2,12,5,5,5,9,12]
plt.plot(x,y)

# Customize the plot (optional)
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Simple Line Plot')

# Display the plot
plt.savefig('matplotlib/Savefig/lineplot2.svg',dpi = 500)
plt.show()
輸出

執行上述程式碼後,我們將得到以下輸出:

SVG Line Plot

注意

  • 如果我們想儲存與螢幕上顯示的圖形完全相同的圖形,則應在呼叫 show() 之前呼叫 savefig(),否則將儲存空檔案。

  • fname 引數中的副檔名決定了儲存檔案的格式。如果 format 為 None,Matplotlib 會自動推斷格式。

廣告