【发布时间】:2021-11-16 05:38:48
【问题描述】:
我是 plotly dash 的新手,我正在尝试制作一个随下拉选择而变化的热图。下拉菜单是选择月份,但热图没有变化! 我的数据框称为“新”。 这是我的代码:
Month_Default = New['Month'].unique()
Month_def = 2
#create the dash app
app = dash.Dash()
app.layout = html.Div([
html.H1('//Title'),
html.Div([
html.Div([
html.H4('Select Month...'),
dcc.Dropdown(
id='Month_dropdown',
options=[{'label': i, 'value': i} for i in Month_Default],
value = Month_Def
),
],
style={'width': '48%', 'display': 'inline-block'}),
dcc.Graph(id='heatmap',
figure = {
'data': [go.Heatmap(
x=New['Days'].where(New['Month']==2),
y=New['Hour'],
z=New['Usage'],
colorscale='Viridis')],
'layout': go.Layout(
xaxis = dict(title = 'Days'),
yaxis = dict( title = 'Hours'),
)})
]),])
@app.callback(
dash.dependencies.Output(component_id='heatmap',component_property='figure'),
[dash.dependencies.Input(component_id='Month_dropdown',component_property='value')]
)
def update_graph(Month_dropdown):
filtered_df = New[New['Month'] == Month_dropdown]
heat_fig = go.Heatmap(filtered_df,
x='Days', y='Hour', z='Usage',
colorscale='Viridis',
title='PM KWH Usage')
return heat_fig
【问题讨论】:
-
您能否提供您的 DataFrame
New的示例,或将与您的代码一起运行的类似 DataFrame?目前您的问题将难以重现,因为我们不知道New的样子 -
New 是一个有 4 列的数据框,其中一列是“月份”,其中包括 5 个月的日期。一列用于“小时”,一列用于“天”,每个月的每一天都包含 24 小时。最后一列是“使用情况”,这是我想在热图中显示的值。 X 轴代表一个月的 30-31 天,y 轴代表 24 小时,z 轴代表每个小时的使用值。下拉菜单是选择月份并显示相应的热图。谢谢!
标签: drop-down-menu plotly heatmap plotly-dash plotly-python