Matplotlib 直方图

Matplotlib 直方图

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

构建直方图的步骤如下:

  • 将值范围分组(bin)。
  • 将整个值范围划分为一系列间隔。
  • 计算落入每个间隔的值的数量。

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

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

参数

以下表列出了直方图的参数:

x 数组或者数组的序列
bins 整数或者整数的序列或者 ‘auto’,可选参数
range bins的下限和上限范围。
density 如果为True,则返回元组的第一个元素将被标准化为概率密度。
cumulative 如果为True,则计算一个直方图,其中每个bin给出该bin及更小值的所有bin的计数。
histtype 绘制直方图的类型。默认为 ‘bar’
  • ‘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()

情节如下所示:

Matplotlib 直方图

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程