float() 参数必须是字符串或数字,而不是 'BarContainer'

float() argument must be a string or a number, not 'BarContainer'

提问人:Towsif Ahamed Labib 提问时间:10/22/2023 最后编辑:Towsif Ahamed Labib 更新时间:11/20/2023 访问量:73

问:

我想修复barcontainer(python对象)的小数点数

ax = sns.countplot(...)
for i in ax.containers:
    # typecast
    ax.bar_label(i,)

i 有一个类型“barcontainer”。在可视化效果中,它是小数点后 8 位的浮点数。我想将浮点数四舍五入到小数点后 4 位。我该怎么做?

更新:我尝试在浮点数中输入,但它显示“float()参数必须是字符串或数字,而不是'BarContainer'”,然后尝试先转换为str然后转换为浮点数,但再次失败

Python 投射 可视化

评论

0赞 Klaus D. 10/22/2023
到目前为止,您尝试过什么?
0赞 Towsif Ahamed Labib 10/23/2023
我尝试在浮点数中输入,但它显示“float()参数必须是字符串或数字,而不是'BarContainer'”,然后尝试先转换为str,然后再转换为float,但再次失败

答:

0赞 Towsif Ahamed Labib 10/23/2023 #1

fmt 参数指定用于设置标签文本格式的格式字符串。 下面是一个示例,说明如何使用 fmt 参数将条形标签四舍五入到小数点后 4 位:

ax = sns.countplot(...)
for i in ax.containers:
    ax.bar_label(i, fmt="%.4f")

这会将每个标签的格式设置为具有 4 位小数的浮点数,并根据需要四舍五入。