複数選択 (selectedData属性)
selectedData属性 を使うと、グラフ上のデータを複数選択 することができます。
複数選択 できるようにするためには、scatter関数 の引数templateのキー‘layout’ のclickmode属性に‘event+select’ を設定します。(23行目)
また、コールバックの入力項目に‘selectedData’ を設定します。(35行目)
[ソースコード]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 import jsonimport dashimport dash_core_components as dccimport dash_html_components as htmlimport plotly.express as pxfrom dash.dependencies import Input, Outputgapminder = px.data.gapminder() gapminder2007 = gapminder[gapminder['year' ] == 2007 ] app = dash.Dash(__name__) app.layout = html.Div( [ html.H1('Gapminder Graph' ), dcc.Graph( id ='graph1' , figure=px.scatter( gapminder2007, x='gdpPercap' , y='lifeExp' , hover_name='country' , template={'layout' :{'clickmode' :'event+select' }} ) ), html.P(id ='hover_text' , style={'fontSize' :'40' , 'textAlign' :'center' }) ], style={'width' :'90%' , 'fontSize' :'40' , 'textAlign' :'center' } ) @app.callback( Output('hover_text' , 'children' ), Input('graph1' , 'selectedData' ) )def show_text (text ): return json.dumps(text) if __name__ == '__main__' : app.run_server(debug=True )
[ブラウザで表示]
Shiftキーを押しながら 、グラフ上のデータを選択すると複数選択 でき、そのデータがグラフ下に表示されます。