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()

執行上面範例程式碼,得到以下結果 -