直方圖是數值數據分佈的精確表示。它是連續變數的概率分佈的估計,它是一種條形圖。
要構建直方圖,請按照以下步驟操作 -
- 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餅圖
