NumPy 使用Matplotlib绘制直方图
NumPy拥有一个 numpy.histogram() 函数,用于图形化地表示数据的频率分布。每个类间隔对应的水平大小相等的矩形,以及对应的频率的变量高度。
numpy.histogram()
numpy.histogram()函数接受输入数组和bin作为两个参数。bin数组中的连续元素作为每个bin的边界。
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()
它应该产生以下输出−