如何在Plotly直方图中缩减bin上方文本的小数位数至2位
解决直方图文本小数位数问题
在Plotly Express的直方图中,要控制bin上方文本的小数位数,只需修改text_auto参数的取值,用格式化字符串指定小数位数即可:
- 将原来的
text_auto=True替换为text_auto='{:.2f}',这样就能让文本显示两位小数 - 如果需要同时显示百分号,可以用
text_auto='{:.2f}%'(注:当histnorm='percent'时,数值本身已经是百分比数值,比如12.34会显示为12.34%)
修改后的完整代码如下:
fig = px.histogram(df10, x="S_Hour", histnorm='percent', text_auto='{:.2f}', labels=dict(S_Hour='Hours of the Day')) fig.update_layout(yaxis_title="Percents (%)") fig.update_layout(xaxis = dict(tickmode = 'linear', tick0 = 0, dtick = 1)) fig.update_traces(textfont_size=12, textangle=0, textposition="outside",cliponaxis=False) fig.show()
如果希望让文本更贴合百分比展示逻辑,也可以尝试text_auto='.2%',但要注意:这个格式会把数值乘以100后添加百分号,因此在已经设置histnorm='percent'的场景下,不建议使用,避免重复计算百分比。
内容的提问来源于stack exchange,提问作者Aviv Fried
相关产品推荐
相关产品推荐

