代碼:
def drawBar(): xticks = ['A', 'B', 'C', 'D', 'E']#每個柱的下標說明 gradeGroup = {'A':200,'B':250,'C':330,'D':400,'E':500}#用於畫圖的頻率數據 #創建柱狀圖 #第一個參數為柱的橫坐標 #第二個參數為柱的高度 #參數align為柱的對齊方式,以第一個參數為參考標准 plt.bar(range(5), [gradeGroup.get(xtick, 0) for xtick in xticks], align='center',yerr=0.000001) #設置柱的文字說明 #第一個參數為文字說明的橫坐標 #第二個參數為文字說明的內容 plt.xticks(range(5), xticks) #設置橫坐標軸的標簽說明 plt.xlabel('Grade') #設置縱坐標軸的標簽說明 plt.ylabel('Frequency') #設置標題 plt.title('Grades Of Male Students') #繪圖 plt.show()
效果圖:
由此看出,要繪制直方圖,只要准備一個包含頻率(柱狀體高度)的字典,字典的key即為柱狀體的下標,字典的value即為柱狀體高度,各個柱狀體的橫坐標由字典的大小(多少個鍵值對)確定。
matplotlib的另外一種繪制直方圖函數是hist(),暫時不會用,待學習。