您好,登錄后才能下訂單哦!
這篇文章主要介紹了Matplotlib中plt和ax指的是什么意思,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
注意,當我說“plt”時,它并不存在于Matplotlib庫中。它之所以被稱為“plt”,是因為大多數Python程序員喜歡導入Matplotlib并創建一個名為“plt”的別名,我相信您應該知道這個別名。
import matplotlib.pyplot as plt
然后,回到我們的主題。為了演示,讓我們畫一個簡單的圖表。
import numpy as npplt.plot(np.random.rand(20)) plt.title('test title') plt.show()
如上面標注的截圖所示,當我們使用plt
:
將生成一個figure
對象(以綠色顯示)
Axes
對象是通過繪制的折線圖(紅色顯示)隱式生成的
圖中的所有元素(如x和y軸)都在Axes
對象中呈現(藍色顯示)
這也就表示:
figure
就像一張紙,你可以畫任何你想畫的東西
我們必須在“單元格”中繪制圖表,在此處,Axes
是坐標軸
如果我們只畫一個圖形,我們不需要先畫一個“單元格”,只要在紙上畫就可以了。我們可以使用plt.plot(…)
當然,我們可以在“紙”上顯式地繪制一個“單元格”,以告訴Matplotlib我們將在這個單元格中繪制一個圖表。然后,我們有以下代碼。
fig, ax = plt.subplots() ax.plot(np.random.rand(20)) ax.set_title('test title') plt.show()
結果完全一樣。唯一的區別是我們明確地繪制了“單元格”,這樣我們就能夠得到Figure
和Axes
對象。
實際上,當我們只想繪制一個圖形時,沒有必要“繪制”單元格。但是,您必須注意到,當我們想在一個圖中繪制多個圖時,必須這樣做。
n_rows = 2 n_cols = 2fig, axes = plt.subplots(n_rows, n_cols) for row_num in range(n_rows): for col_num in range(n_cols): ax = axes[row_num][col_num] ax.plot(np.random.rand(20)) ax.set_title(f'Plot ({row_num+1}, {col_num+1})')fig.suptitle('Main title') fig.tight_layout() plt.show()
在這個代碼片段中,我們首先聲明了要“繪制”的行和列的數量。2×2表示我們要畫4個單元格。
然后,在每個單元格中,我們繪制一個隨機的折線圖,并根據其行號和列號分配一個標題。請注意,我們使用的是axis實例。
在此之后,我們在“paper”上定義一個“Main title”,即Figure
實例。所以,我們有這個超級標題,它不屬于任何“單元格”,但在幕布上。
最后,在調用show()
方法之前,我們需要要求Figure
實例通過調用它的tight_layout()
方法自動在單元格之間提供足夠的填充。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Matplotlib中plt和ax指的是什么意思”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。