题目:绘制类似上图的直方图,统计身高从149cm~173cm的人数。
要求:组距3cm, 也就是我们将身高从149~173 的人平均分成了8组,然后每组的距离就是3cm。
如图,身高在149cm-152cm这个范围内的人数是2个人,身高的范围从158cm-161cm这个范围内的人数是19个人。
代码如下(示例):
import matplotlib.pyplot as plt
import matplotlib
# 用黑体显示中文
plt.rcParams['font.sans-serif'] = ['SimHei']
data = [2,6,12,19,10,8,4,2]
plt.ylim(0,23)
labels = ["149-152", "152-155", "155-158", "158-161","161-164","164-167","167-170","170-173"]
colors = ["red","yellow",'blue','black','green','orange','purple','pink']
plt.bar(range(len(data)), data,color=colors,width=0.6)
plt.xticks(range(len(data)),labels)
for i in range(len(data)):
plt.text(x= i- 0.05 , y=data[i] + 0.2, s = '%d' % data[i])
plt.xlabel("身高/cm")
plt.ylabel("频数(学生人数)")
plt.show()
运行如下(示例):