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)

結果如下

基本上,只要仔細觀察對應的位置,你就明白這個是怎麼寫的,剛開始可能代碼不熟悉,但是到最後基本上就可以啦
在這裏插入圖片描述

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