【问题标题】:Exception: Layout must be a dash component or a function that returns a dash component例外:布局必须是破折号组件或返回破折号组件的函数
【发布时间】:2018-12-01 15:56:24
【问题描述】:

我正在尝试这段简单的代码,它正在引发标题中提到的异常。

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/salesfunnel.xlsx?raw=True")

pv = pd.pivot_table(df, 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')

app = dash.Dash()

app.layout = html.Div(children=[
html.H1(children='Sales Funnel Report'),
html.Div(children='''National Sales Funnel Report.'''),
dcc.Graph(
    id='example-graph',
    figure={
        'data': [trace1, trace2, trace3, trace4],
        'layout':
        go.Layout(title='Order Status by Customer', barmode='stack')
    })
])

所以,它指向程序的最后一行,即 go.Layout 并提到了这个错误。 我已经尝试了很多东西,但我找不到这个错误的原因。如果有人能解决这个问题,那将是很大的帮助。 提前致谢, 问候

【问题讨论】:

    标签: python-3.x dashboard web-frameworks plotly-dash


    【解决方案1】:

    我无法重现此异常。 Id 确实必须更改给定代码中的两件事。

    1) read_excel 行中的杂散换行符(可能是代码复制的产物)

    2) 添加以下内容以实际运行应用程序:

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

    这些可能非常微不足道,您的问题可能完全不同,但是在这两个更改之后,应用程序对我来说运行顺利。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-09
      • 2011-11-05
      • 2011-12-17
      相关资源
      最近更新 更多