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

Plotly绘制柱状图时如何正确显示带小数位的百分比数值

问题原因

Plotly 底层使用 d3-format 规则解析格式字符串,单独配置yaxis_tickformat = '%'时,默认等价于.0%,即百分比保留0位小数,因此0.99944这类接近1的数值会被直接四舍五入为100%,丢失小数精度。

解决方案

需要同时配置Y轴刻度和悬浮提示的数值格式,明确指定百分比保留的小数位数即可:

  • 配置Y轴刻度格式:将原有%替换为.n%格式,其中n为需要保留的小数位数,针对你的数据设置为.3%即可满足3位小数的展示需求;如果需要自动省略末尾无意义的0(比如99.9%不显示为99.900%),可使用.3~%格式。
  • 同步配置Y轴悬浮提示格式:添加hoverformat参数和刻度格式保持一致,避免悬浮提示仍使用默认整数百分比格式。
  • 可选优化:由于所有可用率数值均高于99.9%,可手动指定Y轴取值范围,放大数值之间的差异,避免所有柱子高度几乎齐平无法直观对比。
修改后可直接运行的代码
cf.go_offline()

fig = df_uptime_percentage.iplot(kind='bar', 
        yTitle='Percent Uptime',
        xTitle='API Endpoint',
        asFigure = True)

fig.update_layout(
    yaxis = dict(
        tickformat = '.3%',  # Y轴刻度保留3位小数百分比
        hoverformat = '.3%', # 悬浮提示数值保留3位小数百分比
        range = [0.999, 1.0001] # 可选:调整Y轴范围,放大数值差异
    ),
    hovermode="x unified"
)

fig.iplot()
效果说明

修改后所有数值会按指定精度展示:

  • API 1对应的0.9994400 正确显示为99.944%
  • API 2对应的0.999914 正确显示为99.991%
  • 其余接口数值均不会被过度四舍五入为100%

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 08:51:26