Skip to content Skip to sidebar Skip to footer

Add Dropdown Menu To Plotly Express Treemap

I am currently trying to add a dropdown menu to my treemap plot The code I am using : import pandas as pd import plotly.express as px fig = px.treemap(df, path=[

Solution 1:

Here I'm basically using the same logic from this answer but I use px.treemap(...).data[0] to produce the traces instead of go.

import plotly.express as px
import plotly.graph_objects as go
df = px.data.tips()

# We have a list for every day
# In your case will be gropuby('RuleName')
# here for every element d
# d[0] is the name(key) and d[1] is the dataframe
dfs = list(df.groupby("day"))

first_title = dfs[0][0]
traces = []
buttons = []
for i,d in enumerate(dfs):
    visible = [False] * len(dfs)
    visible[i] = True
    name = d[0]
    traces.append(
        px.treemap(d[1],
                   path=['day', 'time', 'sex'],
                   values='total_bill').update_traces(visible=True if i==0 else False).data[0]
    )
    buttons.append(dict(label=name,
                        method="update",
                        args=[{"visible":visible},
                              {"title":f"{name}"}]))

updatemenus = [{'active':0, "buttons":buttons}]

fig = go.Figure(data=traces,
                 layout=dict(updatemenus=updatemenus))
fig.update_layout(title=first_title, title_x=0.5)
fig.show()

enter image description here


Post a Comment for "Add Dropdown Menu To Plotly Express Treemap"