直方图(histogram)虽然在样式上类似条形图,但它们的作用不一样。直方图用不同的矩形表示频数,常用来观察一组数据的概率分布。在直角坐标中,用横轴表示数据分组,纵轴表示频数或频率,各组与相应的频数就形成了一个个矩形,即直方图。
画直方图用到 pyplot 中的 hist 函数,它的基本语法为:
输入值:
x | 数组,需要绘制直方图的数值 |
---|---|
[bins] | 可选参数,数据的组数,若不指定则 hist 函数默认计算一个组数 |
**kwargs | 不定长的关键字参数,用字典形式设置条形图的其他属性 |
返回值:
n | 一个数组,每组直方图的频数(或概率密度) |
---|---|
bins | 一个数组,直方图的边界数值 |
patches | 一个对象组,每个对象代表直方图的矩形 |
**kwargs 中常用来设置的属性包括直方的边界线颜色 edgecolor,不透明度 alpha 等。需要注意的是,hist 函数的三个返回值一般用来继续对数据进行分析,并不是必须要写或必须要使用的。
下面举例说明该函数,例如某个饭店每天接待的顾客数有以下记录值:
141 | 159 | 166 | 172 | 177 | 182 | 188 | 196 | 203 | 214 |
---|---|---|---|---|---|---|---|---|---|
143 | 160 | 167 | 173 | 177 | 183 | 189 | 196 | 203 | 215 |
144 | 160 | 168 | 173 | 178 | 184 | 189 | 196 | 205 | 218 |
149 | 161 | 168 | 174 | 178 | 185 | 189 | 196 | 206 | 223 |
150 | 161 | 168 | 174 | 178 | 186 | 190 | 196 | 207 | 225 |
152 | 162 | 170 | 174 | 179 | 186 | 190 | 197 | 208 | 226 |
153 | 163 | 171 | 175 | 179 | 187 | 191 | 197 | 209 | 228 |
153 | 163 | 171 | 175 | 179 | 187 | 192 | 198 | 210 | 233 |
154 | 164 | 172 | 175 | 180 | 187 | 194 | 198 | 210 | 233 |
155 | 165 | 172 | 175 | 180 | 187 | 194 | 200 | 211 | 234 |
156 | 165 | 172 | 176 | 181 | 188 | 195 | 201 | 211 | 234 |
158 | 165 | 172 | 176 | 182 | 188 | 195 | 202 | 213 | 237 |
在 Phthon 中编写代码,并画出对应的直方图。
import matplotlib.pyplot as plt
x = [141, 159, 166, 172, 177, 182, 188, 196, 203, 214,
143, 160, 167, 173, 177, 183, 189, 196, 203, 215,
144, 160, 168, 173, 178, 184, 189, 196, 205, 218,
149, 161, 168, 174, 178, 185, 189, 196, 206, 223,
150, 161, 168, 174, 178, 186, 190, 196, 207, 225,
152, 162, 170, 174, 179, 186, 190, 197, 208, 226,
153, 163, 171, 175, 179, 187, 191, 197, 209, 228,
153, 163, 171, 175, 179, 187, 192, 198, 210, 233,
154, 164, 172, 175, 180, 187, 194, 198, 210, 233,
155, 165, 172, 175, 180, 187, 194, 200, 211, 234,
156, 165, 172, 176, 181, 188, 195, 201, 211, 234,
158, 165, 172, 176, 182, 188, 195, 202, 213, 237]
plt.hist(x, edgecolor='k', alpha=0.35) # 设置直方边线颜色为黑色,不透明度为 0.35
plt.show()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
显示图形: