#前提・実現したいこと
dashを使ったダッシュボードを作成したいです。
ドロップダウンで選択した項目について、
横軸にathlete名、縦軸にgoalshot列を表示させたいです。
#発生している問題・エラーメッセージ
callbackが反映されていないのか、グラフが表示されません。
#該当のソースコード
import pandas as pd import dash import dash_core_components as dcc import dash_html_components as html import plotly.graph_objs as go df = pd.read_excel("dash/2019womensWChdata.xlsx", sheet_name = 'Sheet2') data_df = df[df['Team']=='Montenegro'] app = dash.Dash(__name__) app.layout = html.Div( children=[ html.Div( html.H1("Montenegro by Women's World Championship 2019", style = {'textalign': 'center'}), ), dcc.Dropdown( id = 'selector', options = [{'label': i, 'value': i} for i in data_df.type.unique()], value = 'Total_Goal' ), dcc.Graph( id = "first-graph", ) ] ) @app.callback( dash.dependencies.Output('first-graph', 'figure'), [dash.dependencies.Input('selector', 'value')] ) def update_graph(factor): dff = data_df[data_df['type'] == factor] return { 'data': [go.Scatter( x = dff['Athlete'], y = dff['value'], type = 'bar', name = 'type' )] } if __name__ == '__main__': app.run_server(debug=True)
"dash/2019womensWChdata.xlsx"ファイル例
Team Athlete type goalshot
Montenegro 1.RAJCIC Marina Total_Goal 1
Montenegro 4.RADICEVIC Jovanka Total_Goal 58
Montenegro 9.JAUKOVIC Durdina Total_Goal 27
Montenegro 15.KLIKOVAC Andrea Total_Goal 13
Montenegro 16.NENEZIC Ljubica Total_Goal 0
Montenegro 20.KNEZEVIC Nikolina Total_Goal 0
Montenegro 23.UJKIC Dijana Total_Goal 3
Montenegro 55.MUGOSA Dijana Total_Shot 5
Montenegro 66.RAMUSOVIC Ema Total_Shot 17
Montenegro 77.MEHMEDOVIC Majda Total_Shot 54
Montenegro 80.DESPOTOVIC Jelena Total_Shot 51
Montenegro 90.RAICEVIC Milena Total_Shot 57
#試したこと
下記のようなページは参考にしましたが、解決できませんでした。
https://qiita.com/OgawaHideyuki/items/1eea435b3f7c90375848
https://qiita.com/OgawaHideyuki/items/0bd9e38de0055a5da046
https://ichi.pro/python-dash-plotly-o-shiyoshite-covid-19-shorei-de-ta-o-shikakuka-suru-252406289200911
#補足情報(FW/ツールのバージョンなど)
macbookair2020 (Big sur)
python3.8.3
pandas 1.2.5
dash 1.20.0
dash-core-components 1.16.0
dash-html-components 1.1.3
plotly 5.1.0
あなたの回答
tips
プレビュー