使用Matplotlib的NumPy直方图


NumPy有一个 numpy.histogram() 函数,它是数据频率分布的图形表示。相等的水平尺寸的长方形对应于类间隔称为 bin可变高度, 对应于频率。

numpy.histogram()

numpy.histogram()函数将输入数组和数组作为两个参数。箱阵列中的连续元素充当每个箱的边界。

import numpy as np

a = np.array([22,87,5,43,56,73,55,54,11,20,51,5,79,31,27])
np.histogram(a,bins = [0,20,40,60,80,100])
hist,bins = np.histogram(a,bins = [0,20,40,60,80,100])
print hist
print bins

它会产生以下输出 -

[3 4 5 2 1]
[0 20 40 60 80 100]

PLT()

Matplotlib可以将这个直方图的数字表示转换为图形。pyplot子模块的 plt()函数 将包含数据和bin数组的数组作为参数并转换为直方图。

from matplotlib import pyplot as plt
import numpy as np  

a = np.array([22,87,5,43,56,73,55,54,11,20,51,5,79,31,27])
plt.hist(a, bins = [0,20,40,60,80,100])
plt.title("histogram")
plt.show()

它应该产生以下输出 -

直方图图