一份詳細的 Matplotlib入門指導

hMatplotlib是最受歡迎的二維圖形庫,但有時咱們很難作到駕輕就熟的去使用。佈局

如何更改圖例上的標籤名稱? 如何設置刻度線? 如何將比例更改成對數? 如何在個人情節中添加註釋和箭頭? 如何在個人圖中添加網格線?spa

本文聚集了有關如何自定義Matplotlib圖的常見問題和答案。 這能夠做爲快速Matplotlib繪圖的一個很好的備忘單,而不是Matplotlib庫的介紹。 code

首先咱們導入:blog

import matplotlib.pyplot as plt

在Jupyter Notebook中,您能夠在下面包含這一行,這樣您就沒必要在每次想要製做繪圖時調用plt.show()。class

%matplotlib inline

圖與子圖(PLOTS AND SUBPLOTS)

Q1:怎樣定義圖形的尺寸?import

許多狀況下,默認的畫布都過小,咱們須要本身定義一個合適的畫布。grid

plt.figure(figsize=(20,10))

Q2:什麼是子圖(subplots)?怎樣去建立子圖?引用

子圖是一組較小的軸,它們在一個圖中一塊兒存在。 下面是2 x 2形式的四個子圖的示例。im

這些子圖是使用下面的代碼建立的。 咱們調用plt.subplot並指定三個數字。 它們指的是要建立子圖的的行數,列數和子圖號。d3

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水平下的表現.

相關文章
相關標籤/搜索