1. 程式人生 > 程式設計 >在matplotlib中改變figure的佈局和大小例項

在matplotlib中改變figure的佈局和大小例項

以下來自Stack Overflow

在matplotlib中改變figure的佈局和大小例項

在matplotlib中改變figure的佈局和大小例項

從上面我們可以很清晰的看出應該如何使用matplotlib的figure方法。

補充知識:matplotlib 設定圖形大小時 figsize 與 dpi 的關係

matplotlib 中設定圖形大小的語句如下:

fig = plt.figure(figsize=(a,b),dpi=dpi)

其中:

figsize 設定圖形的大小,a 為圖形的寬, b 為圖形的高,單位為英寸

dpi 為設定圖形每英寸的點數

則此時圖形的畫素為:

px,py = a*dpi,b*dpi # pixels
# e.g.
# 6.4 inches * 100 dpi = 640 pixels

也就是說,同一畫素尺寸的圖形(比如 1200 * 600)可以有任意種不同的組合,比如:

figsize=(15,7.5),dpi= 80
figsize=(12,6),dpi=100
figsize=( 8,4),dpi=150
figsize=( 6,3),dpi=200
etc.

但這些不同的組合,有什麼區別呢?這取決於圖中元素的大小。

線條,標記,文字等大多數元素都有以磅為單位的大小。Matplotlib 中 每英寸點數(ppi)為72,則寬度為 1 點的線將為 1/72 英寸寬,使用 fontsize 12 點的文字將是 12/72 寸高。

為了便於說明,用 matplotlib繪製相應的圖形,如 表1 所示。

如果以英寸為單位更改圖形大小,而 dpi 不變,較大的圖形仍具有相同的元素大小。因此,改變圖形尺寸就像拿一張不同尺寸的紙張一樣,這樣做當然不會改變用同一筆繪製的線條的寬度。通過表 1 中的圖形2, 4, 6 的對比,可以明顯的看出來這一點。

另一方面,更改dpi會縮放元素。在72 dpi時,1 寬度的線是 1 畫素。在144 dpi時,這條線就是 2 畫素。

span>因此,更大的dpi就像放大鏡一樣。所有元素都通過鏡頭的放大倍數進行縮放。 通過表 1 中的圖形 1 3 5 的對比,可以看出這一點。

綜上:

圖形尺寸(figsize)確定圖形的大小(以英寸為單位)。 這給出了軸(和其他元素)在圖中的空間量。 較大的圖形尺寸將允許顯示更長的文字,更多的軸或更多的標記標籤(表1中圖形3與圖形4,圖形5與圖形6的對比可看出,畫素尺寸相同時,圖形尺寸越大,所能容納的內容越多)。

dpi 確定了圖形每英寸包含的畫素數,圖形尺寸相同的情況下, dpi 越高,則影象的清晰度越高(表1中 1,3,5 對比可看出)

以上這篇在matplotlib中改變figure的佈局和大小例項就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。