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

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


上一篇: Matplotlib条形图 下一篇: Matplotlib饼图