向MatplotLib中的条形图标签添加逗号 [英] Adding Comma to Bar Labels in MatplotLib

查看:35
本文介绍了向MatplotLib中的条形图标签添加逗号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在使用ax.bar_label方法向条形图添加数据值。这个数字很大,比如143858918。如何使用ax.bar_label方法向数据值添加逗号?我知道如何使用Annotate方法添加逗号,但是否可以使用bar_label添加逗号,我不确定。是否可以使用可用的fmt关键字参数?

推荐答案

是否可以使用fmt关键字参数?

  • fmt参数基于旧的%运算符,该运算符不支持逗号分隔符。
  • 改为使用带有f字符串的labels参数。

使用{:,.0f}格式化容器的datavalues以获得逗号分隔符(如果需要更多小数位则增加0):

container = ax.containers[0]
ax.bar_label(container, labels=[f'{x:,.0f}' for x in container.datavalues])

或对于分组条形图,迭代所有容器:

for container in ax.containers:
    ax.bar_label(container, labels=[f'{x:,.0f}' for x in container.datavalues])

玩具示例:

x = np.random.default_rng(123).integers(10_000_000, size=5)
fig, ax = plt.subplots()
ax.bar(range(len(x)), x)

container = ax.containers[0]
ax.bar_label(container, labels=[f'{x:,.0f}' for x in container.datavalues])

这篇关于向MatplotLib中的条形图标签添加逗号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆