如何将 Plotly 'Funnel' 仪表板转换为 Dash 仪表板?

How to convert a Plotly 'Funnel' Dashboard to Dash Dashboard?

我正在尝试将这个简单的 plotly funnel 仪表板转换为 Dash 仪表板:

from plotly import graph_objects as go

fig = go.Figure(go.Funnel(
    y = ["Website visit", "Downloads", "Potential customers", "Requested price", "invoice sent"],
    x = [39, 27.4, 20.6, 11, 2]))

fig.show()

输出:

我已经为 Dash 编写了以下代码,但没有成功。

import dash
import dash_core_components as dcc
import dash_html_components as html
from plotly import graph_objects as go

app = dash.Dash()


app.layout = html.Div([dcc.Figure(id='FunnelDashboard',
                    figure = {'data':[
                            go.Funnel(
                            y = ["Website visit", "Downloads", "Potential customers", "Requested price", "invoice sent"],
                            x = [39, 27.4, 20.6, 11, 2])]
                            }
                            )])

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

输出:

C:\Users\Test\Documents\Code>python Funnel_Dash.py
Traceback (most recent call last):
  File "Funnel_Dash.py", line 23, in <module>
    app.layout = html.Div([dcc.Figure(id='FunnelDashboard',
AttributeError: module 'dash_core_components' has no attribute 'Figure'

Figure 不是 dash_core_components 的属性。

我们可以改用Graph

app = dash.Dash()

app.layout = html.Div([dcc.Graph(id='FunnelDashboard',
                    figure = {'data':[
                            go.Funnel(
                            y = ["Website visit", "Downloads", "Potential customers", "Requested price", "invoice sent"],
                            x = [39, 27.4, 26.6, 11, 2])]
                            }
                            )])
if __name__ == '__main__':
    app.run_server()

试试这个:

app.layout=html.Div([
                    dcc.Graph(
                    id='chart1',
                    figure=fig
                )
        ])