dash入门

前言

之前一直是使用R语言的shiny,今天就来写一些dash,因为感觉plotly的dash比shiny更加强大,可能是因为语言的本身的原因,python就是比R语言灵活,强大
先介绍如何安装吧,

安装包

我使用的就是win10上的anaconda的python3.7
然后使用pip安装,pip install dash

接下来,就是写代码,
这个代码主要也就是分成以下几块:

导入包


这里导入包不像是R语言的shiny,这里要导入三个部分

import dash
import dash_core_components as dcc
import dash_html_components as html

设置风格


在写dash之前,还要添加一些风格,

external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']

app = dash.Dash(__name__, external_stylesheets=external_stylesheets)

也就是说,以后,我们都是在这个app上面加东西,改东西
其实这样还是很简单的

添加内容

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': 'dhl'}, ],
            'layout': {
                'title': "Dash Data Visualization"
            }
        }
    )
])

观察函数可以看到,我们在app后面加入了一个layout,然后layout后面使用的是html.Div这个函数,这个函数里面的children传递的是一个裂变,主要不断地在这个列表里面加入组件就可以。
这个列表里面有html.H1、html.Div、dcc.Graph。你只要知道这个写都是要添加的对象就行了,每一个对象控制一个部分或者显示一个部分。我感觉这个还是很灵活的,children后面可以传入任何东西,只要符合条件,基本上都符合。
到最后,就会看到h1就是输出标题,div也是一个小的块的标题,然后graph画出来的东西就是一个图标,这个图标里面为什么这么设计,主要就是为了传递参数用的。

运行函数

最后函数写好了,就开始运行函数,代码如下:

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

结果如下

基本上,只要仔细观察对应的位置,你就明白这个是怎么写的,刚开始可能代码不熟悉,但是到最后基本上就可以啦
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章