python绘制直方图显示数字_Python学习第89课-数据可视化之直方图绘制

【每天几分钟,从零入门python编程的世界!】

假设你想投资某一个城市的房地产,你肯定需要对这个城市的人口分布、增长潜力做一个调查,这时我们就需要做一个直方图(histogram plot)。

实例:

假设我们有一份C城市的人口年龄的数据,我们为方便起见,在这里只列出很少的一部分数据,用一个列表City_C_Age表示这个城市的人口年龄数据:

City_C_Age=[2,3,1,7,4,5,3,1,7,6,9,8,13,16,12,17,15,14,18,,20,23,28,25,23,27,25,29,26,24,25,30,34,37,36,38,32,35,37,36,41,42,47,47,48,43,46,44,53,54,58,52,51,55,56,69,60,63,67,64,72,74,78,75,89,85,83,90,93]

我们在画直方图的时候,要引入一个重要的概念--bin。

bin的说明:

bin在英式英语中意思是“垃圾桶”,当我们的数据非常多的时候,每一个数据都对应一个id,比如这个例子中,每一个年龄数据都对应一个人,如果每一个数据id都画一个柱状图,那显然画出来非常多,不利于展示和分析。所以我们引入一个bin,就像垃圾分类一样,我们给这些数据分类,相当于我们设定不同的年龄段,0-9岁装到一个桶里,10-19岁装到一个桶里,...,90-99岁装到一个桶里,即以10岁的间隔设置年龄段,以每一个年龄段为坐标画一个柱状图,这些柱状图组合到一起,形成了直方图。

因此,我们大概可以这样理解:直方图就是把数据划分区域后,以数据区域为节点绘制的柱状图的集合。

我们设置bins如下:

bins=[0,10,20,30,40,50,60,70,80,90,100]

根据Python的习惯,算头不算尾,即0-9为一个bin,10-19为一个bin,依次类推。

绘制直方图的代码:

plt.hist(City_C_Age,bins,histtype="bar",rwidth=0.8)

代码说明:hist的第一个参数是需要输入的数据,在这里是城市C的人口年龄数据;第二个参数是数据分类bins,第三个参数是每一个bin的数据形成的图形类型,“bar”就是柱状图;第四个参数rwidth是柱状图的宽度,大多数情况都是写0.8,0.8的宽度是一个比较好看的宽度,你也可以写其他的数字。

整体代码如下图:

b03533fa828ba61e3665a6530029e00f314e59e1.jpeg?token=dacf76ad9b7794598df3ac1f7ffa621e&s=8070E03319BEC4CE0A78ACDB000080B2

tips:这个直方图的x轴为“Age”,y轴为“Num”,Num表示每一个bin里面的年龄有多少个人。

运行结果如下图:

b999a9014c086e0645af1bf33d150cf10ad1cb21.jpeg?token=392ee76a25b43b2935b587eb9776daa9&s=2136CC326AB44A9AF2DA64D70200D0EA

假如我们使用的人口年龄数据是正确的,那么我们就可以根据这个直方图进行分析:

我们根据图看到20-50岁之间的青壮年人口数量最多,且0-20岁之间的人口数量多于60岁以上的人口数量,符合正态分布,表明这个城市未来人口应该是正增长,这个城市的青壮年适龄劳动人口数量占多数,未来这个城市比较有发展潜力,投资房产是一个比较正确的决策。

当然,这个分析是建立在数据正确的基础上,同时分析要素和过程不会如此简单,我们只是用一个简单化的表述,来说明数据可视化、数据分析的一个大概过程。

我是时问新,欢迎关注我。跟我一起从零开始学习Python,每天花一点时间,开启python编程新世界的大门,领略新的风光,让人生多一种可能!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值