Python Matplotlib繪制條形圖的全過程
條形圖
條形圖具有豐富的表現形式,常見的類型包括單組條形圖,多組條形圖,堆積條形圖和對稱條形圖等。
單組條形圖
條形圖的每種表現形式都可以繪制成垂直條形圖或水平條形圖,以單組條形圖的兩種繪制方式為例。
垂直條形圖
import matplotlib.pyplot as plt data = [10., 20., 5., 15.] plt.bar(range(len(data)), data) plt.show()
Tips:plt.plot()函數的作用是:接收兩個參數,包括每個條形的x坐標和每個條行的高度。
通過可選參數width,pyplot.bar()提供瞭一種控制條形圖中條狀寬度的方法:
import matplotlib.pyplot as plt data = [10., 20., 5., 15.] plt.bar(range(len(data)), data, width=0.5) plt.show()
水平條形圖
如果更喜歡水平條形外觀,就可以使用plt.barh()函數,在用法方面與plt.bar()基本相同,但是修改條形寬度(或者在水平條形圖中應該稱為高度)的參數需要使用height:
import matplotlib.pyplot as plt data = [10., 20., 5., 15.] plt.barh(range(len(data)), data, height=0.5) plt.show()
多組條形圖
當需要比較不同年份相應季度的銷量等此類需求時,我們可能需要多組條形圖。
import numpy as np import matplotlib.pyplot as plt data = [[10., 20., 30., 20.],[40., 25., 53., 18.],[6., 22., 52., 19.]] x = np.arange(4) plt.bar(x + 0.00, data[0], color = 'b', width = 0.25) plt.bar(x + 0.25, data[1], color = 'g', width = 0.25) plt.bar(x + 0.50, data[2], color = 'r', width = 0.25) plt.show()
堆積條形圖
通過使用plt.bar()函數中的可選參數,可以繪制堆積條形圖。
import matplotlib.pyplot as plt y_1 = [3., 25., 45., 22.] y_2 = [6., 25., 50., 25.] x = range(4) plt.bar(x, y_1, color = 'b') plt.bar(x, y_2, color = 'r', bottom = y_1) plt.show()
Tips:plt.bar()函數的可選參數bottom允許指定條形圖的起始值。
可以結合for循環,利用延遲呈現機制堆疊更多的條形:
import numpy as np import matplotlib.pyplot as plt data = np.array([[5., 30., 45., 22.], [5., 25., 50., 20.], [1., 2., 1., 1.]]) x = np.arange(data.shape[1]) for i in range(data.shape[0]): plt.bar(x, data[i], bottom = np.sum(data[:i], axis = 0)) plt.show()
對稱條形圖
一個簡單且有用的技巧是對稱繪制兩個條形圖。例如想要繪制不同年齡段的男性與女性數量的對比:
import numpy as np import matplotlib.pyplot as plt w_pop = np.array([5., 30., 45., 22.]) m_pop = np.array( [5., 25., 50., 20.]) x = np.arange(4) plt.barh(x, w_pop) plt.barh(x, -m_pop) plt.show()
圖中女性人口的條形圖照常繪制。然而,男性人口的條形圖的條形圖的條形圖向左延伸,而不是向右延伸。可以使用數據的負值來快速實現對稱條形圖的繪制。
總結
到此這篇關於Python Matplotlib繪制條形圖的文章就介紹到這瞭,更多相關Python Matplotlib繪制條形圖內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- python數學建模之Matplotlib 實現圖片繪制
- Python用 matplotlib 繪制柱狀圖
- Matplotlib可視化之自定義顏色繪制精美統計圖
- Python Matplotlib數據可視化模塊使用詳解
- Python數據分析之matplotlib繪圖詳解