Dash Python 教程(1): 概述

之前我们介绍了Open AI Gym,也提到了打算开发一个通用的Android游戏的Open AI Gym环境,在此之前,计划先开发一个澳大利亚股票市场交易的Open AI Gym的模拟环境,最近几天完成了对澳洲股票数据的处理https://github.com/asxgym/asx_data_daily 这个数据包含了近10年的历史数据,包括ASX股票指数。以及公司,板块数据。

Open AI Gym的模拟环境项目的框架asx_gym ,目前还只是一个框架,还在设计中。数据可以实现每日更新(后面介绍用法)

asx_gym 的 app目录为一个Django例子,可以用来显示股票数据,而Dash是一个非常实用的图像显示的软件包,用来显示股票数据再合适不可。Dash 本身可以作为独立的Web应用,也可以做为Django的一个模块,后面具体介绍Dash作为Django模块的配置,这里可以通过修改bootstrap_app.py

import dash_bootstrap_components as dbc
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output

from django_plotly_dash import DjangoDash

app = DjangoDash('BootstrapApplication')  # replaces dash.Dash

...

比如我们使用参考https://dash.plotly.com/layout 修改bootstrap_app.py如下:

app.layout = html.Div(children=[
    html.H1(children='Hello Dash'),

    html.Div(children='''
        Dash: A web application framework for Python.
    '''),

    dcc.Graph(
        id='example-graph',
        figure={
            'data': [
                {'x': [1, 2, 3], 'y': [4, 1, 2], 'type': 'bar', 'name': 'SF'},
                {'x': [1, 2, 3], 'y': [2, 4, 5], 'type': 'bar', 'name': u'Montréal'},
            ],
            'layout': {
                'title': 'Dash Data Visualization'
            }
        }
    )
])

 

Dash 本身是基于Flask, Plotly.js 和React.js. 但它本身确是一个纯Python的Web应用开发平台,特别适宜哪些使用Python语言进行数据处理的技术人员。