我的Python心路历程 第十二期 (12.5 指数实战可视化之plot柱状图中展示柱子数值)
背景
网上搜了一下有基于普通数组构建bar柱状图并显示柱状上的数值的方法,但试了多次都不适用于pandas的数据类型。
分析
为了实现此事,深入理解text函数本质,尤其是三个主要参数(x坐标位置、y坐标位置,显示的内容),此处的x轴坐标元素是字符串类型,故此查找对应的数值尤为重要,通过debug不断调测终于获取到了对应的参数,并尝试出了想要的效果。
解决
最终适配后代码如下:
# 构建柱状图
bar = pd_data.plot.bar(x='Type', y='Count')
# 显示柱状上的数值,通过debug不断调测获取对应的参数;同时深入理解text函数本质
for rect in bar.patches:
plt.text(rect.get_x() + rect.get_width() / 2. - 0.5, 1.03 * rect.get_height(), '%s' % int(rect.get_height()))
plt.tight_layout()
plt.legend