一份詳細的 Matplotlib入門指導
hMatplotlib是最受歡迎的二維圖形庫,但有時我們很難做到得心應手的去使用。
如何更改圖例上的標簽名稱? 如何設置刻度線? 如何將比例更改為對數? 如何在我的情節中添加註釋和箭頭? 如何在我的圖中添加網格線?
本文匯集了有關如何自定義Matplotlib圖的常見問題和答案。 這可以作為快速Matplotlib繪圖的一個很好的備忘單,而不是Matplotlib庫的介紹。
首先我們導入:
import matplotlib.pyplot as plt
在Jupyter Notebook中,您可以在下面包含這一行,這樣您就不必在每次想要制作繪圖時調用plt.show()。
%matplotlib inline
圖與子圖(PLOTS AND SUBPLOTS)
Q1:怎樣定義圖形的尺寸?
許多情況下,默認的畫布都太小,我們需要自己定義一個合適的畫布。
plt.figure(figsize=(20,10))
Q2:什麽是子圖(subplots)?怎樣去創建子圖?
子圖是一組較小的軸,它們在一個圖中一起存在。 下面是2 x 2形式的四個子圖的示例。
這些子圖是使用下面的代碼創建的。 我們調用plt.subplot並指定三個數字。 它們指的是要創建子圖的的行數,列數和子圖號。
for i in range (1, 5): plt.subplot(2, 2, i) plt.text(0.5,0.5, str((2, 2, i)), ha=‘center‘, fontsize = 10) plt.tight_layout()
在上面的子圖中,圖中的文本是對這三個數字的引用。 子圖編號的順序是從左上角開始的行,從數字1開始。例如,左上圖是子圖編號1,右上圖是子圖編號2,左下圖是子圖編號3, 右下圖是4號子圖。
請註意,必須專門調用plt.subplot(2,2,1)來創建該子圖。
Q3:如果子圖布局不是很精致,怎樣來調整呢?
如果子圖排列過於緊湊。 我們可以通過調用plt.tight_layout()來修復它。它清理子圖之間的填充以獲得更清晰的外觀。
調整前:
調整後:
Q4:怎麽樣天加網格線?
plt.grid(True)
風格和屬性
Q5:怎樣調整線的顏色\粗細\形狀?
plt.plot(x, y, color = ‘green’ , linewidth = 2, linestyle = “-”)
常見的形狀:
Q6:怎樣更改標記(marker)的顏色和樣式?
plt.scatter(x, y, marker = ‘o’, color = ‘red’)
常見的選擇:
Q7:如何更改線條的透明度?
將alpha參數傳遞給你的繪圖。 Alpha可以設置為0到1,其中0表示完全透明,1表示不透明。
plt.plot(x, y, alpha = 0.1)
下圖說明了透明度在0.9,0.5和0.1的alpha水平下的表現.
一份詳細的 Matplotlib入門指導