直方图是数值数据分布的精确表示。它是连续变量的概率分布的估计,它是一种条形图。要构建直方图,请按照以下步骤操作 -
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()
执行上面示例代码,得到以下结果 -