You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Plotly绘制柱状图数值标签格式错误如何修正

问题原因

text_auto=".2s" 中的格式符s对应SI单位自动量级格式化规则,会根据数值大小自动套用千、兆、毫、微等量级前缀缩放数值,当数值绝对值小于1时就会自动使用毫(m,对应10^-3量级)做转换,这就是-0.2被错误显示为-200m的原因。

修复方法

将text_auto的格式规则替换为固定小数位的f格式即可,所有标签会统一使用10^0量级的常规小数显示,不会再自动做量级缩放:

  • 匹配现有数据精度(保留1位小数):设置text_auto=".1f"
  • 若需要保留2位小数:设置text_auto=".2f"
修正后可直接运行的代码
import pandas as pd
import plotly.express as px

states = ["Andhra Pradesh", "Gujarat", "Tamil Nadu", "Rajasthan"]
delta_gdp = [-1.4, -0.2, 3.1, 4.0]

d = {'state':states,'delta_gdp':delta_gdp}
df = pd.DataFrame(d)

# 替换原有的.text_auto=".2s"参数
fig = px.bar(df, x='state', y='delta_gdp', text_auto=".1f", title = "Percentage difference in GDP")
fig.update_traces(textfont_size=14, textangle=0, textposition="outside", cliponaxis=False)

fig.show()

运行后古吉拉特邦(Gujarat)对应的柱体标签会正确显示为-0.2,其余标签也会按固定小数规则展示。

内容的提问来源于stack exchange,提问作者Ludwig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 21:45:33