从matplotlib 3.4.0开始,Axes.bar_label
方法允许标记条形图。
但是,标签格式选项适用于旧格式,例如fmt='%g'
我如何使它与新的格式,将允许我做的事情,如百分比,千分隔符等工作:'{:,.2f}', '{:.2%}', ...
我想到的第一件事是以某种方式从ax.containers
中获取初始标签,然后重新格式化它们,但它也需要适用于不同的条形图结构,不同格式的分组条形图等。
从matplotlib 3.4.0开始,Axes.bar_label
方法允许标记条形图。
但是,标签格式选项适用于旧格式,例如fmt='%g'
我如何使它与新的格式,将允许我做的事情,如百分比,千分隔符等工作:'{:,.2f}', '{:.2%}', ...
我想到的第一件事是以某种方式从ax.containers
中获取初始标签,然后重新格式化它们,但它也需要适用于不同的条形图结构,不同格式的分组条形图等。
1条答案
按热度按时间bt1cpqcv1#
如何让
bar_label
使用新的格式,如百分比,千位分隔符等?*自matplotlib 3.7起
fmt
参数现在直接支持基于{}
的格式字符串,例如:*matplotlib 3.7之前
fmt
参数不支持基于{}
的格式字符串,因此使用labels
参数。使用f字符串格式化bar容器的datavalues
,并将其设置为labels
,例如:示例如下:
*千个分隔符标签
*标签百分比
*堆叠百分比标签