Python Matplotlib繪製條形圖的全過程
目錄
- 條形圖
- 單組條形圖
- 水平條形圖
- 多組條形圖
- 堆積條形圖
- 對稱條形圖
- 總結
條形圖
條形圖具有豐富的表現形式,常見的型別包括單組條形圖,多組條形圖,堆積條形圖和對稱條形圖等。
單組條形圖
條形圖的每種表現形式都可以繪製成垂直條形圖或水平條形圖,以單組條形圖的兩種繪製方式為例。
垂直條形圖
import matplotlib.pyplot as pltdata = [10., 20., 5., 15.]plt.bar(range(len(data)), data)plt.show()
Tips:plt.plot()函式的作用是:接收兩個引數,包括每個條形的x座標和每個條行的高度。
通過可選引數width,pyplot.bar()提供了一種控制條形圖中條狀寬度的方法:
import matplotlib.pyplot as pltdata = [10., 20., 5., 15.]plt.bar(range(len(data)), data, width=0.5)plt.show()
水平條形圖
如果更喜歡水平條形外觀,就可以使用plt.barh()函式,在用法方面與plt.bar()基本相同,但是修改條形寬度(或者在水平條形圖中應該稱為高度)的引數需要使用height:
import matplotlib.pyplot as pltdata = [10., 20., 5., 15.]plt.barh(range(len(data)), data, height=0.5)plt.show()
多組條形圖
當需要比較不同年份相應季度的銷量等此類需求時,我們可能需要多組條形圖。
import numpy as npimport matplotlib.pyplot as pltdata = [[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 plty_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 npimport matplotlib.pyplot as pltdata = 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 npimport matplotlib.pyplot as pltw_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()
圖中女性人口的條形圖照常繪製。然而,男性人口的條形圖的條形圖的條形圖向左延伸,而不是向右延伸。可以使用資料的負值來快速實現對稱條形圖的繪製。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70008723/viewspace-2838955/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- matplotlib繪製圖形
- 使用Matplotlib繪製3D圖形3D
- 利用 Matplotlib 繪製資料圖形(一)
- 利用 Matplotlib 繪製資料圖形(二)
- Python matplotlib繪製散點圖Python
- ## matplotlib.pyplot庫的知識點之bar函式——繪製條形圖函式
- Python Matplotlib繪製氣溫圖表Python
- [Python] Matplotlib 圖表的繪製和美化技巧Python
- Python資料分析入門(十七):繪製條形圖Python
- 08【matplotlib】06matplotlib繪製多次圖形和不同圖形的差異介紹和總結
- 使用python matplotlib實現動圖繪製Python
- Python 利用pandas和matplotlib繪製餅圖Python
- 【Python_Demo_5】Python中條形重疊直方圖的繪製Python直方圖
- Python 利用pandas 和 matplotlib繪製柱狀圖Python
- Matplotlib 繪製折線圖
- python繪圖之matplotlibPython繪圖
- 小提琴圖的繪製方法:Python matplotlib實現Python
- 繪製圖形
- [1]Python 中用 matplotlib 繪製熱點圖(heat map)Python
- Python例項:僅繪製圖例而不繪製實際的圖形Python
- Matplotlib直方圖繪製技巧直方圖
- 繪圖: Python matplotlib簡介繪圖Python
- matplotlib的直方圖繪製(筆記)直方圖筆記
- Python 利用pandas和matplotlib繪製柱狀折線圖Python
- java:繪製圖形Java
- CAD有趣圖形的繪製
- Python 在PDF中繪製線條、矩形、橢圓形Python
- 標準圓形餅圖Python繪製方法Python
- Python 用 OpenCV 繪製基本圖形系列(總)PythonOpenCV
- View 的繪製過程View
- Python-matplotlib-入門教程(一)-基礎圖表繪製Python
- css繪製特殊圖形CSS
- 使用css繪製圖形CSS
- Matplotlib呼叫imshow()函式繪製熱圖函式
- Excalidraw:繪製圖形的新利器
- Android View的繪製過程AndroidView
- python資料視覺化-matplotlib入門(4)-條形圖和直方圖Python視覺化直方圖
- Python基本圖形繪製--模組1:turtle庫的使用Python