在matplotlib中改變figure的布局和大小實例
以下來自Stack Overflow


從上面我們可以很清晰的看出應(yīng)該如何使用matplotlib的figure方法。
補充知識:matplotlib 設(shè)置圖形大小時 figsize 與 dpi 的關(guān)系
matplotlib 中設(shè)置圖形大小的語句如下:
fig = plt.figure(figsize=(a, b), dpi=dpi)
其中:
figsize 設(shè)置圖形的大小,a 為圖形的寬, b 為圖形的高,單位為英寸
dpi 為設(shè)置圖形每英寸的點數(shù)
則此時圖形的像素為:
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.
但這些不同的組合,有什么區(qū)別呢?這取決于圖中元素的大小。
線條,標(biāo)記,文本等大多數(shù)元素都有以磅為單位的大小。Matplotlib 中 每英寸點數(shù)(ppi)為72,則寬度為 1 點的線將為 1/72 英寸寬,使用 fontsize 12 點的文本將是 12/72 寸高。
為了便于說明,用 matplotlib繪制相應(yīng)的圖形,如 表1 所示。
如果以英寸為單位更改圖形大小,而 dpi 不變,較大的圖形仍具有相同的元素大小。因此,改變圖形尺寸就像拿一張不同尺寸的紙張一樣,這樣做當(dāng)然不會改變用同一筆繪制的線條的寬度。通過表 1 中的圖形2, 4, 6 的對比,可以明顯的看出來這一點。
另一方面,更改dpi會縮放元素。在72 dpi時,1 寬度的線是 1 像素。在144 dpi時,這條線就是 2 像素。
span>因此,更大的dpi就像放大鏡一樣。所有元素都通過鏡頭的放大倍數(shù)進(jìn)行縮放。 通過表 1 中的圖形 1 3 5 的對比,可以看出這一點。
綜上:
圖形尺寸(figsize)確定圖形的大?。ㄒ杂⒋鐬閱挝唬?這給出了軸(和其他元素)在圖中的空間量。 較大的圖形尺寸將允許顯示更長的文本,更多的軸或更多的標(biāo)記標(biāo)簽(表1中圖形3與圖形4,圖形5與圖形6的對比可看出,像素尺寸相同時,圖形尺寸越大,所能容納的內(nèi)容越多)。
dpi 確定了圖形每英寸包含的像素數(shù),圖形尺寸相同的情況下, dpi 越高,則圖像的清晰度越高(表1中 1,3,5 對比可看出)
以上這篇在matplotlib中改變figure的布局和大小實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python DataFrame 設(shè)置輸出不顯示index(索引)值的方法
今天小編就為大家分享一篇Python DataFrame 設(shè)置輸出不顯示index(索引)值的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
詳解Python中 __get__和__getattr__和__getattribute__的區(qū)別
__get__、__getattr__、__getattribute都是訪問屬性的方法,但作用不太相同,這里我們就來詳解Python中 __get__和__getattr__和__getattribute__的區(qū)別:2016-06-06
運籌學(xué)-Python實現(xiàn)圖論與最短距離
需要求解任意兩個節(jié)點之間的最短距離,使用?Floyd?算法,只要求解單源最短路徑問題,有負(fù)權(quán)邊時使用?Bellman-Ford?算法,沒有負(fù)權(quán)邊時使用?Dijkstra?算法,本節(jié)我們只討論Dijkstra?算法,需要的朋友可以參考一下2022-01-01
使用Python對接OpenAi?API實現(xiàn)智能QQ機器人的方法
這篇文章主要介紹了使用Python對接OpenAi?API實現(xiàn)智能QQ機器人的方法,主要是提供一個方法思路,可以根據(jù)實現(xiàn)代碼延申出更多的解決方法,需要的朋友可以參考下2023-03-03

