在 python 中编写源代码,使其在 DASH 框架中工作

Write source code in python so that it works in DASH framework

我使用 Jupyer Notebook 在 python 中编写了我的代码并且工作正常。 我需要有关如何在 DASH 中编写该代码或使其在 dash 中工作的帮助。

PATH = 'products.csv'
data = pd.read_csv(PATH)
colors = ['#f4cb42', '#cd7f32', '#a1a8b5'] #gold,bronze,silver

medal_counts = data.Categories.value_counts(sort=True)
labels = medal_counts.index
values = medal_counts.values
pie = go.Pie(labels=labels, values=values, marker=dict(colors=colors))
layout = go.Layout(title='Sales by CATEGORIES ')
fig = go.Figure(data=[pie], layout=layout)
py.iplot(fig)

代码绘制饼图。

您只需要制作一个简单的 Dash 应用程序?这并非不可能,但我预计你会因为(似乎)没有努力弄清楚如何使用 Dash 而被否决。

这是一个超级简单的例子。您可以在 localhost 上 运行 它并在浏览器中查看它,然后根据需要从那里进行修改。

import dash
import flask
import pandas as pd
import plotly.graph_objs as go
import dash_html_components as html
import dash_core_components as dcc

from dash.dependencies import Input, Output

server = flask.Flask('app')

app = dash.Dash('app', server=server)

app.layout = html.Div(children=[
        dcc.Graph(id='my-graph'),
        html.Button('Chart data', id='my-button'),
    ])


@app.callback(
    output=Output('my-graph', 'figure'),
    inputs=[
        Input('my-button', 'n_clicks'),
    ])
def update_graph(click: int):
    if click is not None and click > 0:
        colors = ['#f4cb42', '#cd7f32', '#a1a8b5']  # gold,bronze,silver

        df = pd.DataFrame.from_dict(dict(
            Categories=[1, 2, 3, 4, 5],
            something=[5, 6, 7, 8, 9],
        ))

        medal_counts = df.Categories.value_counts(sort=True)
        labels = medal_counts.index
        values = medal_counts.values
        pie = go.Pie(labels=labels, values=values, marker=dict(colors=colors))
        layout = go.Layout(title='Sales by CATEGORIES ')
        fig = go.Figure(data=[pie], layout=layout)

        return fig
    else:
        return go.Figure()


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