Matplotlib直方圖

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

  • Bin值範圍。
  • 將整個值範圍劃分為一系列間隔。
  • 計算每個間隔中有多少值。

bins通常指定為變數的連續,非重疊區間。matplotlib.pyplot.hist()函數繪製直方圖。它計算並繪製x的直方圖。

參數

下表列出了直方圖的參數 -

  • x - 數組或數組序列。
  • bins - 整數或序列或auto,可選項。
  • range - bins的下部和上部範圍。
  • density - 如果為True,則返回元組的第一個元素將是規範化以形成概率密度的計數。
  • cumulative - 如果為True,則計算直方圖,其中每個bin給出該bin中的計數加上較小值的所有bin
  • histtype - 要繪製的直方圖的類型,默認為bar

下麵的例子描繪了一個班級學生獲得的標記直方圖。定義了四個bins0-25,26-50,51-7576-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餅圖