温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python可视化Dash工具回调的使用方法

发布时间:2021-10-09 17:20:56 阅读:196 作者:柒染 栏目:大数据
Python开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

今天就跟大家聊聊有关Python可视化Dash工具回调的使用方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

Dash中的「回调」(callback)是以装饰器的形式,配合自编回调函数,实现前后端异步通信交互。

回调可以实现单一输入,单一输出;单一输入,多个输出;多个输入,多个输出;单一/多个输入,单一/多个输出,只要参数名称不一样就行。

回调比较方便协同前后端的异步交互。

province2city_dict = {    '四川省': '成都市',    '陕西省': '西安市',    '广东省': '广州市'}flowertype_dict = {    'setosa': '1',    'versicolor': '2',    'virginnica': '3'}app.layout=html.Div([html.Div('Div logo', id='logo'),                     html.Div('Div header', id='header'),                     html.Div([                         html.Div([                             html.Div('Div left-top', id='left-top'),                             html.Div('Div left-middle', id='left-middle'),                             html.Div('Div left-bottom', id='left-bottom'),                         ], id='mleft'),                         html.Div([                             html.H1('根据省名查询省会城市:'),                             html.Br(),                             dcc.Dropdown(id='province',                                          options=[{'label':'四川省','value':'四川省'},                                                   {'label':'陕西省','value':'陕西省'},                                                   {'label':'广东省','value':'广东省'}],                                          value='四川省'),                             html.P(id='city'),                             html.Div([                                 html.Label('Gender'),                                 html.Div([                                     dcc.Dropdown(   # 功能性组件, 设定id值作为标签关联callback函数中的标签                                            id='gender',                                            options=[{'label': i, 'value': i} for i in ['女人', '男人']],                                            value='女人'),                                    ]),                                 html.P('测试多个输入单个输出:',id='multinputsimpleoutput'),                                 html.P('测试多个输入单个输出,相同输入变量输出不同变量:',id='multinputsimpleoutput2'),                                 html.Label('flower type'),                                 html.Div([                                     dcc.Dropdown(                                            id='flowertype',                                            # options=[{'label':'setosa','value':'1'},                                            #          {'label':'versicolor','value':'2'},                                            #          {'label':'virginnica','value':'3'}],                                            options=[{'label': key, 'value': value} for (key,value) in flowertype_dict.items()],                                            value='1'),                                    ]),                                ], className="dropdown"),                             html.P('测试多个输入多个输出1:',id='multinputmultoutput1'),                             html.P('测试多个输入多个输出2:',id='multinputmultoutput2')                         ], id='mmap'),                         html.Div('mright',id='mright')                     ],id='main'),                     html.Div('Div footer', id='footer')]                    ,id='container')# 单一输入,单一输出@app.callback(Output('city','children'),Input('province','value'))def province2city(province):    return province2city_dict[province]# 多个输入,单一输出@app.callback(Output('multinputsimpleoutput','children'),[Input('province','value'),Input('gender','value')])def province2city(province,gender):    return province2city_dict[province]+'   '+gender# 多个输入,单一输出,允许相同输入参数,返回不同输出参数;相同输出参数会报错@app.callback(Output('multinputsimpleoutput2','children'),[Input('province','value'),Input('gender','value')])def province2city(province,gender):return province2city_dict[province]+'   '+gender+'  返回到不同参数'# 多个输入,多个输出@app.callback([Output('multinputmultoutput1','children'),Output('multinputmultoutput2','children')],[Input('province','value'),Input('gender','value'),Input('flowertype','value')])def province2city(province,gender,flowertype):    flowtypename=list(flowertype_dict.keys())[list(flowertype_dict.values()).index(flowertype)]    return province2city_dict[province]+'   '+gender,flowtypename

看完上述内容,你们对Python可视化Dash工具回调的使用方法有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:https://my.oschina.net/u/4697616/blog/5010592

AI

开发者交流群×