Search code examples
pythonplotlydata-visualizationplotly-python

How to create a progress pie chart using plotly from a percentage value?


If there is a variable like

x = 80

or a dataframe like

progress
0 80

Then how do I create a chart like the one below
enter image description here


Solution

  • You can use:

    df = pd.DataFrame({'names' : ['progress',' '],
                       'values' :  [progress, 100 - progress]})
    
    fig = px.pie(df, values ='values', names = 'names', hole = 0.5,
                 color_discrete_sequence = ['FC0080', 'rgba(0,0,0,0)']
                )
    

    And get:

    enter image description here

    Complete code:

    import plotly.express as px
    import pandas as pd
    
    # data
    progress = 80
    df = pd.DataFrame({'names' : ['progress',' '],
                       'values' :  [progress, 100 - progress]})
    
    # plotly
    fig = px.pie(df, values ='values', names = 'names', hole = 0.5,
                 color_discrete_sequence = ['red', 'rgba(0,0,0,0)']
                )
    
    fig.data[0].textfont.color = 'white'
    # fig.show()
    fig.show()
    
    f = fig.full_figure_for_development(warn=False)
    fig.show()