matplotlib---直方图(2)

 

用条形图绘制直方图

案例

在美国2004年人口普查发现有124 million的人在离家相对较远的地方工作.根据他们从家到上班地点所需要的时间,通过抽样统计(最后一列)出了下表的数据,这些数据怎么绘制成直方图:

Data by absoluts numbers
intervalwidthquantityquantity/width
054180836
55136872737
105186183723
155196343926
205179813596
25571901438
305163693273
3553212642
4054122824
45159200613
60306461215
9060343557

 

这些数据是无法直接使用hist来绘制直方图的,但是可以通过条形图改造绘制成直方图


from matplotlib import pyplot as plt
from matplotlib import font_manager

my_font = font_manager.FontProperties(fname='/usr/share/fonts/cjkuni-uming/uming.ttc')

interval = [0,5,10,15,20,25,30,35,40,45,60,90]
width = [5,5,5,5,5,5,5,5,5,15,30,60]
quantity = [836,2737,3723,3926,3596,1438,3273,642,824,613,215,57]

plt.figure(figsize=(20, 8), dpi=80)

plt.bar(range(len(quantity)), quantity, width=1)  # width=1  表示之间没有空隙,默认为0.8

_x = [i-0.5 for i in range(13)]  # 设置起点在方格的左侧
_xtick_labels = interval+[150]   # 最后一个间距是60,到150,将150添加到列表中

plt.xticks(_x, _xtick_labels)

plt.grid()

plt.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秒不可闫M先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值