为什么使用Dash创建的仪表板不起作用?

时间:2019-09-11 05:39:39

标签: python-3.x plotly-dash

我正在尝试使用python软件包Dash创建一个Dashboard。要么执行时间太长,要么抛出一个错误,提示“加载依赖项时出错”。

我正在IE浏览器的Jupyter笔记本上运行它。

有人能解释我,我要去哪里了吗? 感谢所有提前。

我尝试从“ https://www.datacamp.com/community/tutorials/learn-build-dash-python”运行示例代码

import dash
import dash_core_components as dcc
import dash_html_components as html
import plotly.graph_objs as go
import pandas as pd     
df= pd.read_excel("https://github.com/chris1610/pbpython/blob/master/data/salesfnnel.xlsx?raw=True")
mgr_options = df["Manager"].unique()

app = dash.Dash()

app.layout = html.Div([
    html.H2("Sales Funnel Report"),
    html.Div(
    [
        dcc.Dropdown(
            id="Manager",
            options=[{
                'label': i,
                'value': i
            } for i in mgr_options],
            value='All Managers'),
    ],
    style={'width': '25%',
           'display': 'inline-block'}),
dcc.Graph(id='funnel-graph'),
])


@app.callback(
dash.dependencies.Output('funnel-graph', 'figure'),
[dash.dependencies.Input('Manager', 'value')])
def update_graph(Manager):
    if Manager == "All Managers":
        df_plot = df.copy()
    else:
        df_plot = df[df['Manager'] == Manager]

    pv = pd.pivot_table(
        df_plot,
        index=['Name'],
        columns=["Status"],
        values=['Quantity'],
        aggfunc=sum,
        fill_value=0)

    trace1 = go.Bar(x=pv.index, y=pv[('Quantity', 'declined')], name='Declined')
    trace2 = go.Bar(x=pv.index, y=pv[('Quantity', 'pending')], name='Pending')
    trace3 = go.Bar(x=pv.index, y=pv[('Quantity', 'presented')], name='Presented')
    trace4 = go.Bar(x=pv.index, y=pv[('Quantity', 'won')], name='Won')

    return {
        'data': [trace1, trace2, trace3, trace4],
        'layout':
        go.Layout(
            title='Customer Order Status for {}'.format(Manager),
            barmode='stack')
    }


if __name__ == '__main__':
    app.run_server(debug=True, use_reloader = False)

加载依赖项时出错。

0 个答案:

没有答案