1. 程式人生 > >一份詳細的 Matplotlib入門指導

一份詳細的 Matplotlib入門指導

數字 plt grid 而不是 一個 標記 src 圖片 out

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入門指導