直方圖是數(shù)值數(shù)據(jù)分布的精確表示。它是連續(xù)變量的概率分布的估計(jì),它是一種條形圖。要構(gòu)建直方圖,請(qǐng)按照以下步驟操作 -
Bin值范圍。 將整個(gè)值范圍劃分為一系列間隔。 計(jì)算每個(gè)間隔中有多少值。
bins通常指定為變量的連續(xù),非重疊區(qū)間。matplotlib.pyplot.hist()函數(shù)繪制直方圖。它計(jì)算并繪制x的直方圖。
參數(shù)
下表列出了直方圖的參數(shù) -
x - 數(shù)組或數(shù)組序列。 bins - 整數(shù)或序列或auto,可選項(xiàng)。 range - bins的下部和上部范圍。 density - 如果為True,則返回元組的第一個(gè)元素將是規(guī)范化以形成概率密度的計(jì)數(shù)。 cumulative - 如果為True,則計(jì)算直方圖,其中每個(gè)bin給出該bin中的計(jì)數(shù)加上較小值的所有bin。 histtype - 要繪制的直方圖的類型,默認(rèn)為bar。
下面的實(shí)例描繪了一個(gè)班級(jí)學(xué)生獲得的標(biāo)記直方圖。定義了四個(gè)bins,0-25,26-50,51-75和76-100。直方圖顯示了落在此范圍內(nèi)的學(xué)生人數(shù)。
示例代碼:
# Filename : example.py # Copyright : 2020 By Nhooo # Author by : www.jixiangtaizi.com.cn # Date : 2020-08-08 #! /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 # 原文出自【立地貨】,商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)請(qǐng)保留原文鏈接: 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("結(jié)果直方圖") ax.set_xticks([0,25,50,75,100]) ax.set_xlabel('分?jǐn)?shù)') ax.set_ylabel('學(xué)生數(shù)量') plt.show()
執(zhí)行上面示例代碼,得到以下結(jié)果 -