How to format delta when relative is True in indicators (python)

I am trying to format the delta part of an indicator in python. When relative is set to False, the delta is expressed as an integer and I am able to round the delta to 2 decimal places, from 179 to 178.6. But when relative is set to True, the delta is a float (81.061…%) and when I try to round it to two decimal I get (0.81). Is it possible to get the percentage change rounded to two decimal places i.e. 81.06%.

import plotly.graph_objects as go

fig = go.Figure()

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>"}
    )) 

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>"}
    )) 

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>"}
    ))

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": ".2f"},
    title = {"text": "<span style='font-size:0.8em'>'relative': True, 'valueformat': '.2f'</span>"}
    )) 

fig.show()

1 Like

I was stuck in the same problem and solved it with the below line of code.

const_chart = go.Figure()
const_chart.add_trace(go.Indicator(number={‘valueformat’: ‘.2f’},
mode=“number+delta”,
value=200,
title={“text”: “‘Testing’”},
delta={‘position’: “bottom”, ‘reference’: 400, relative’: True, ‘valueformat’: ‘.2%’},
domain={‘row’: 0, ‘column’: 0}))

Hope this helps