不同單位的圖形大小#

Matplotlib 中的原生圖形大小單位是英寸,源自印刷產業標準。不過,使用者可能需要以其他單位(如公分或像素)指定其圖形。此範例說明如何有效率地執行此操作。

import matplotlib.pyplot as plt

text_kwargs = dict(ha='center', va='center', fontsize=28, color='C1')

英寸的圖形大小(預設)#

plt.subplots(figsize=(6, 2))
plt.text(0.5, 0.5, '6 inches x 2 inches', **text_kwargs)
plt.show()
figure size units

公分的圖形大小#

將以公分為基礎的數字乘以從公分轉換為英寸的轉換因子,會得到正確的數字。將轉換因子命名為 cm 會讓轉換看起來幾乎像是將單位附加到數字,這樣更容易閱讀。

cm = 1/2.54  # centimeters in inches
plt.subplots(figsize=(15*cm, 5*cm))
plt.text(0.5, 0.5, '15cm x 5cm', **text_kwargs)
plt.show()
figure size units

像素的圖形大小#

同樣地,可以使用從像素的轉換。

請注意,如果您將 savefig 與不同的明確 dpi 值搭配使用,可能會損壞此資料。

px = 1/plt.rcParams['figure.dpi']  # pixel in inches
plt.subplots(figsize=(600*px, 200*px))
plt.text(0.5, 0.5, '600px x 200px', **text_kwargs)
plt.show()
figure size units

快速互動式工作通常會轉譯到螢幕,使像素成為良好的單位大小。但是,對於快速疊代,定義轉換因子可能會感到有點繁瑣。

由於預設的 rcParams['figure.dpi'] = 100,您可以心算將所需的像素值除以 100 [1]

plt.subplots(figsize=(6, 2))
plt.text(0.5, 0.5, '600px x 200px', **text_kwargs)
plt.show()
figure size units

參考資料

此範例中顯示下列函式、方法、類別和模組的使用

標籤:元件:圖形 樣式:大小 等級:初學者

指令碼的總執行時間: (0 分鐘 1.752 秒)

由 Sphinx-Gallery 產生的圖庫