直方图是数值数据分布的精确表示。它是连续变量的概率分布的估计,它是一种条形图。
要构建直方图,请按照以下步骤操作 -
- 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
。直方图显示了落在此范围内的学生人数。
示例代码:
#! /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饼图