gpt4 book ai didi

python - 添加下拉菜单以绘制表达树状图

转载 作者:行者123 更新时间:2023-12-04 08:51:08 28 4
gpt4 key购买 nike

我目前正在尝试向我的树状图添加下拉菜单
我正在使用的代码:

import pandas as pd
import plotly.express as px

fig = px.treemap(df,
path=['RuleName','RuleNumber','ParaInvolved',"CreationP","MAjP"],
color='Somme',
hover_data=["RuleDecision","RuleMAJ"],
color_continuous_scale='RdBu')

fig.show()
我面临的问题是,在我的“RuleName”列中,我有 151 个不同的值(但总共有 1300 行),这就是为什么我试图添加一个按钮,允许自己选择我想要绘制树状图的 RuleName 值.现在我正在使用一种野蛮的方法,包括通过每个 RuleName 值过滤我的数据框,这导致我获得 151 个不同的树状图。我在该网站或任何其他网站上找不到任何解决方案。
谢谢你的帮助

最佳答案

在这里,我基本上使用与此相同的逻辑 answer但我使用 px.treemap(...).data[0]产生痕迹而不是 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

关于python - 添加下拉菜单以绘制表达树状图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64100889/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com