直方圖是數值數據分佈的精確表示。它是連續變數的概率分佈的估計,它是一種條形圖。
要構建直方圖,請按照以下步驟操作 -
- Bin值範圍。
- 將整個值範圍劃分為一系列間隔。
- 計算每個間隔中有多少值。
bins
通常指定為變數的連續,非重疊區間。matplotlib.pyplot.hist()
函數繪製直方圖。它計算並繪製x
的直方圖。
參數
下表列出了直方圖的參數 -
x
- 數組或數組序列。bins
- 整數或序列或auto
,可選項。range
-bins
的下部和上部範圍。density
- 如果為True
,則返回元組的第一個元素將是規範化以形成概率密度的計數。cumulative
- 如果為True
,則計算直方圖,其中每個bin
給出該bin
中的計數加上較小值的所有bin
。histtype
- 要繪製的直方圖的類型,默認為bar
。
下麵的例子描繪了一個班級學生獲得的標記直方圖。定義了四個bins
,0-25
,26-50
,51-75
和76-100
。直方圖顯示了落在此範圍內的學生人數。
示例代碼:
#! /usr/bin/env python
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
import math
plt.rcParams['font.sans-serif'] = ['SimHei'] # 步驟一(替換sans-serif字體)
plt.rcParams['axes.unicode_minus'] = False # 原文出自【許虎虎】,商業轉載請聯繫作者獲得授權,非商業請保留原文鏈接:
fig,ax = plt.subplots(1,1)
a = np.array([22,87,5,43,56,73,55,54,11,20,51,5,79,31,27])
ax.hist(a, bins = [0,25,50,75,100])
ax.set_title("結果直方圖")
ax.set_xticks([0,25,50,75,100])
ax.set_xlabel('分數')
ax.set_ylabel('學生數量')
plt.show()
執行上面示例代碼,得到以下結果 -
上一篇:
Matplotlib條形圖
下一篇:
Matplotlib餅圖