Python matplotlib柱状图添加数据标签:bar_label()函数详解与参数说明
本文介绍如何在Python中使用matplotlib库的bar_label()函数为柱状图添加数据标签。文章涵盖环境要求、代码实现及bar_label()函数的详细参数说明,包括container、labels、fmt、label_type和padding等关键参数的用法与区别,帮助开发者快速掌握图表标注技巧。
0.更新matplotlib库
后续实验均基于matplotlib版本大于等于3.4.1,低版本无法执行后续操作。在Pycharm中更新第三方库(以tensorflow为例)的方法可参考相关教程。
1.导入库
直接导入matplotlib.pyplot库,代码如下:
import matplotlib.pyplot as plt2.数据准备
使用list分别准备横坐标和纵坐标的数据。
# 构造数据
X_set = [1, 2, 3, 4, 5] # X轴数值
Y_set = [128, 211, 136, 234, 150] # Y轴数据3.绘制柱状图
绘图代码如下:
p1 = plt.bar(X_set, Y_set, width= 0.35, label='value') # width表示柱子的宽度
plt.bar_label(p1, label_type='edge') # label_type=‘edge'表示将数据值标签放在柱子顶端,label_type=‘center'表示将数据值标签放在柱子中间。
plt.title('The distribution of XXX')
plt.show()4.绘图结果
上述绘图结果如下:

5.完整代码
完整代码如下:
import matplotlib.pyplot as plt
# 构造数据
X_set = [1, 2, 3, 4, 5]
Y_set = [128, 211, 136, 234, 150]
p1 = plt.bar(X_set, Y_set, width= 0.35, label='value')
plt.bar_label(p1, label_type='edge')
plt.title('The distribution of XXX')
plt.show()6.bar_label()相关参数的补充说明
函数的签名为matplotlib.pyplot.bar_label(container, labels=None, *, fmt='%g', label_type='edge', padding=0, **kwargs)。
函数的参数为:
- (1)container:柱子的容器对象,通常为bar或barh函数返回值,为.BarContainer对象,是必备参数。
- (2)labels:标签文本列表,为类数组对象,是可选参数。若为None,则使用fmt参数格式化的柱子数据(即柱子高度)作为标签值。
- (3)fmt:标签的格式字符串,为字符串类型,默认值为'%g',即将标签值格式化为浮点数。
- (4)label_type :标签类型。取值范围为 {'edge', 'center'},默认值为'edge'。对于普通柱状图,该参数仅用于控制标签的位置,对于堆积柱状图,不同标签类型对应不同的标签值。
- (4.1)
'edge':标签位于柱子的端点,显示的值为柱子的端点位置。注意:对于堆积柱状图,显示的是多个堆积柱子的总长度。 - (4.2)
'center':标签位于柱子的中部,显示的值为柱子的长度。
- (4.1)
- (5)padding:标签与柱子之间的距离,单位为像素,为浮点数,默认值为0。
- (6)**kwargs:传递给
annotate()的其他参数。返回值为标签的Text对象列表。
到此这篇关于Python使用matplotlib给柱状图添加数据标签bar_label()的文章就介绍到这了,更多相关matplotlib给柱状图添数据标签内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













