Matplotlib - 直方图


直方图是数值数据分布的准确表示。它是连续变量概率分布的估计。它是一种条形图。

要构建直方图,请按照以下步骤操作 -

  • 对值的范围进行分箱。
  • 将整个值范围划分为一系列区间。
  • 计算每个区间内有多少个值。

bin 通常被指定为变量的连续、不重叠的间隔。

matplotlib.pyplot.hist ()函数绘制直方图。它计算并绘制 x 的直方图。

参数

下表列出了直方图的参数 -

X 数组或数组序列
垃圾箱 整数或序列或'auto',可选
可选参数
范围 垃圾箱的下限和上限范围。
密度 如果为 True,则返回元组的第一个元素将是标准化后形成概率密度的计数
累计 如果为 True,则计算直方图,其中每个箱给出该箱中的计数以及较小值的所有箱。
组织型 要绘制的直方图的类型。默认为“酒吧”
  • “bar”是传统的条形直方图。如果给出多个数据,则条形图并排排列。
  • “barstacked”是一个条形直方图,其中多个数据相互堆叠。
  • 'step' 生成默认情况下未填充的线图。
  • 'stepfilled' 生成默认填充的线图。

以下示例绘制了班级学生获得的分数的直方图。定义了四个容器:0-25、26-50、51-75 和 76-100。直方图显示了落在该范围内的学生人数。

from matplotlib import pyplot as plt
import numpy as np
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("histogram of result")
ax.set_xticks([0,25,50,75,100])
ax.set_xlabel('marks')
ax.set_ylabel('no. of students')
plt.show()

该图如下所示 -

直方图