在matplotlib中,ax.plot函数是用来画曲线的,而ax.hist函数则用来画直方图(histogram)。
下面我们用python代码换一个直方图,10000个符合正态分布的随机数,将他们按照直方图画出来:
import numpy as np
import matplotlib.pyplot as plt
x = np.random.randn(10000)
fig = plt.figure()
ax = fig.add_subplot()
ax.hist(x, bins=50, color='blue', alpha=0.7)
plt.show()
注意ax.hist函数,数据的输入只有x,x可以是一个sequence,也可以是matrix;
bins控制直方图中等宽分组的数量,默认为10,不过应该很少用默认值吧;
alpha控制直方图颜色的透明度。(plot等其它函数中,也有这个参数)
正态分布直方图
这个直方图怎么看,y轴表示数据出现的频率或次数,x轴是按bins参数输入进行分组。直方图,可以理解为由一系列高度不等的纵向条柱来表示数据分布特征的统计报告图,它是对原始数据进行压缩的结果。
直方图分组的区间
我没有找到特别权威的说明,不过,通过阅读matplotlib官方教材能够发现,bins的值如果是一个整数,x轴的区间就