hMatplotlib是最受歡迎的二維圖形庫,但有時咱們很難作到駕輕就熟的去使用。佈局
如何更改圖例上的標籤名稱? 如何設置刻度線? 如何將比例更改成對數? 如何在個人情節中添加註釋和箭頭? 如何在個人圖中添加網格線?spa
本文聚集了有關如何自定義Matplotlib圖的常見問題和答案。 這能夠做爲快速Matplotlib繪圖的一個很好的備忘單,而不是Matplotlib庫的介紹。 code
首先咱們導入:blog
import matplotlib.pyplot as plt
在Jupyter Notebook中,您能夠在下面包含這一行,這樣您就沒必要在每次想要製做繪圖時調用plt.show()。class
%matplotlib inline
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水平下的表現.