Matplotlib 直方图

直方图是数值数据分布的精确表示。它是连续变量的概率分布的估计,它是一种条形图。要构建直方图,请按照以下步骤操作 -

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。直方图显示了落在此范围内的学生人数。

示例代码:

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.cainiaojc.com
# 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 # 原文出自【立地货】,商业转载请联系作者获得授权,非商业请保留原文链接:
 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()

执行上面示例代码,得到以下结果 -

执行代码结果