NumPy - 使用 Matplotlib 绘制直方图

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

numpy.histogram()

numpy.histogram()函数将输入数组和bin作为两个参数。 bin数组中的连续元素用作每个bin的边界。

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

输出如下:

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

plt()

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

  1. from matplotlib import pyplot as plt
  2. import numpy as np
  3. a = np.array([22,87,5,43,56,73,55,54,11,20,51,5,79,31,27])
  4. plt.hist(a, bins = [0,20,40,60,80,100])
  5. plt.title("histogram")
  6. plt.show()

输出如下:

Histogram Plot