Python绘图库Matplotlib的柱形图函数bar函数中,没有现成的参数或者方法可以直接显示出柱体的数据文字标签,因此我们需要通过text函数将数据标签挨个显示到合适的位置。
text函数的用法并不难,我们只需给定x、y、t三个参数即可在(x,y)坐标位置上显示出参数t的内容。
真正的难点在于如何简单快速的确定坐标x、y。
bar函数中虽然没有直接显示标签的方法,但是它的返回值对象却可以为我们提供位置信息。
当我们使用bar函数绘制柱形图时,返回的是一组矩形对象,即我们在图像中看到的一个个柱体,这些矩形对象每一个都有自己横坐标、宽度、高度属性,利用这些属性我们就可以快速定位想要显示的文字的位置。
柱体的横坐标、宽度、高度属性可分别通过对象的get_x()、get_width()、get_height()方法获得。
由于bar函数的返回对象是一组矩形,所以我们需要利用for循环对矩形组进行遍历然后再通过相应的方法得到各个矩形的横坐标、宽度、高度等属性。
通过图中代码,我们可以直观的了解get_x()、get_height()方法得到的数值与柱体之间的关系。
通过观察图像我们可以得知,get_x()得到的数值为柱体左侧边缘坐标而非柱体中心坐标,get_height()得到的数值即是柱体的高度数值。
如果我们需要把数值标签显示在柱体中心位置,我们需要设置横坐标为get_x() get_width()/2。
下面我们依旧以07年到16年的全国人口总数、男性人口总数、女性人口总数为例为大家做演示。
Copyright © 2008-2022 秒下下载站
m.down10s.com .All Rights Reserved