我们都知道Python数据可视化工具pyecharts,不过今天蜗牛博客(http://www.snailtoday.com)要介绍的是另一个工具:Dash。
我最开始是在一个flask开发的网站上看到使用它,看到那个网站的作者对Dash充满喜欢,也忍不住去了解一下。
Dash是建立在Flask, Plotly.js, and React.js之上,它的官网在这儿,这里还有实例
两分钟测试Dash
既然Dash这么好用,那么我们就来测试一下吧,令人开心的是,这个过程只需要花费两分钟。
测试环境:
win7 英文版
Anaconda(python3.x)
一、安装Dash
执行以下三条命令安装即可。
pip install dash pip install dash-html-components pip install dash-core-components
二、执行代码
#!/usr/bin/env python
# python3.5
# -*- coding: utf8 -*-
import dash
from dash.dependencies import Input, Output
import dash_core_components as dcc
import dash_html_components as html
from datetime import datetime as dt
import tushare as ts
app = dash.Dash()
app.layout = html.Div([
html.H1('股票图'),
dcc.Dropdown(
id='my-dropdown',
options=[
{'label': '爱柯迪', 'value': '600933'},
{'label': '赣锋锂业', 'value': '002460'},
{'label': '中国神华', 'value': '601088'},
{'label': '广汽集团', 'value': '601238'},
{'label': '春秋航空', 'value': '601021'},
],
value='600933'
),
dcc.Graph(id='my-graph')
])
@app.callback(Output('my-graph', 'figure'), [Input('my-dropdown', 'value')])
def update_graph(selected_dropdown_value):
# df = web.DataReader(
# selected_dropdown_value, data_source='yahoo',
# start=dt(2018, 1, 1), end=dt.now()
# )
df = ts.get_k_data(selected_dropdown_value, ktype='30')
return {
'data': [
{
'x': df.index,
'y': df.close
}
]
}
if __name__ == '__main__':
app.run_server(host="0.0.0.0")
然后在浏览器中输入:http://127.0.0.1:8050/,就可以看到效果了:

下拉菜单中,还可以选择股票:
