通过 plotly 将输入映射到破折号回调中的输出

问题描述 投票:0回答:1

现在,我有代码来显示一个图表,其中可以给出 x 和 y 值的范围。

This is what my output currently is.现在,我想包含一个按钮,该按钮具有另一个输入以重定向到新页面。

可以吗?由于文档只有多个输入或多个输出,而不是两者。

这是我的@callback代码:

@callback(
    Output('main', 'figure'),
    Input('minNodes', 'value'),
    Input('maxNodes', 'value'),
    Input('minEdges', 'value'),
    Input('maxEdges', 'value'),
)
python plotly-dash plotly-python
1个回答
0
投票

你绝对可以在一个回调中同时传递多个输入和输出。
要重定向到新页面,您可以在布局中添加dcc.Location,并在点击输入按钮时在回调中设置url
如果您需要根据输入变化来区分回调中的输出生成,您可以检查回调中的上下文trigger_id

from dash import ctx
from dash.dash import no_update
@callback(
    Output('main', 'figure'),
    Output('location', 'href')
    Input('btn_id', 'n_clicks'),
    Input('minNodes', 'value'),
    Input('maxNodes', 'value'),
    Input('minEdges', 'value'),
    Input('maxEdges', 'value'),
)
def redirect_to_url(btn_click,min1,max1,min2,max2):
    triggered_id = ctx.triggered_id
    if triggered_id == 'btn_id':
        url = 'https:www.google.com'
        return no_update, url
    else: # call when other inputs have changed
        # displaygraph 
        return graph(), no_update
© www.soinside.com 2019 - 2024. All rights reserved.