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

Python中Indicator组件relative为True时的delta格式化方法

Plotly Indicator Delta 百分比格式化问题解决

问题描述

在使用Plotly的Indicator组件设置delta格式化时遇到以下问题:

  • 当relative=False时,用valueformat=".2f"可将delta数值保留两位小数(如从179变为178.60);
  • 当relative=True时,delta实际是小数形式的比例值(例如81.06%对应0.8106),直接使用.2f会显示为0.81,无法得到带百分号的两位小数格式(81.06%)。

解决方法

当relative=True时,需使用百分比格式字符串.2%,Plotly会自动将小数比例转换为百分比形式,保留指定小数位数的同时添加百分号后缀。

修改后的代码

import plotly.graph_objects as go

fig = go.Figure()

# 基础示例:relative=False
fig.add_trace(go.Indicator(
    mode = "number+delta",
    value = 400.1456,
    domain = {'x': [0, 0.5], 'y': [0.5, 1]},
    delta = {'reference': 221.544, 'relative': False},
    title = {"text": "<span style='font-size:0.8em'>'relative': False</span>"}
)) 

# relative=False + 保留两位小数
fig.add_trace(go.Indicator(
    mode = "number+delta",
    value = 400.1456,
    domain = {'x': [0, 0.5], 'y': [0, 0.5]},
    delta = {'reference': 221.544, 'relative': False, "valueformat": ".2f"},
    title = {"text": "<span style='font-size:0.8em'>'relative': False, 'valueformat': '.2f'</span>"}
)) 

# 基础示例:relative=True
fig.add_trace(go.Indicator(
    mode = "number+delta",
    value = 400.1456,
    domain = {'x': [0, 1], 'y': [0.5, 1]},
    delta = {'reference': 221, 'relative': True},
    title = {"text": "<span style='font-size:0.8em'>'relative': True</span>"}
))

# relative=True + 百分比两位小数格式
fig.add_trace(go.Indicator(
    mode = "number+delta",
    value = 400.1456,
    domain = {'x': [0, 1], 'y': [0, 0.5]},
    delta = {'reference': 221, 'relative': True, "valueformat": ".2%"},
    title = {"text": "<span style='font-size:0.8em'>'relative': True, 'valueformat': '.2%'</span>"}
)) 

fig.show()

效果说明

修改后,最后一个Indicator的delta会显示为+81.06%,既保留了两位小数,又正确展示了百分比形式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 16:31:01