python画柱形图显示数值_Python数据可视化利器Matplotlib,如何绘制堆积柱形图?...

Python绘图库Matplotlib中并没有现成的函数可以一步绘制出堆积柱形图,所以这就需要我们通过灵活使用柱形图函数bar函数来实现。

bar(x, height, width, bottom, *, align='center', **kwargs)

bar函数中有四个参数是用来界定柱体位置及形状的,分别为x、height、width、bottom,它们分别代表柱体位置、柱体高度、柱体宽度、柱体底部位置。

这四个参数与柱体位置及形状关系示意图如下。

4e05f813555a45ddb20b5c2d67b1069670905585.jpg

通过示意图我们不难想到,我们可以通过分层绘制,以下一层高度作为上一层底部的方法来绘制堆积柱形图。

绘制时,除了最底层的不用设置底部参数bottom以外,其余每一层的bottom参数均为下面所有柱体的高度之和。

以07年至16年全国儿童、成人、老人人口总数为例,演示堆积柱形图绘制。

9189b2f29eaf4f32bcf250ddc39951f707278079.jpgda28b28a8acf46b1a2724d98b43c46aa73171332.jpg82bc5d602b734f999b0b34b97006582207426507.jpg

11行之前的代码为变量的命名初始化。

9至11行:这里没有使用列表而是使用数组存储数据,是因为绘制堆积柱形图时需要对底层的柱体高度相加,如果采用列表存储数据,直接将两个列表相加得到是列表的拼接,而两个数组相加则是数组内元素一一对应相加,所以用数组存储数据更方便些。

16行:绘制儿童人口数柱体,由于是最底层,所以不需要设置bottom

17行:绘制第二层成年人人口数柱体,bottom参数设为儿童总人口数

18行:绘制第三层老年人人口数柱体,bottom参数设为儿童与成年人人口数之和

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值