Python 以其语法简单和易用而备受喜爱,近年来跟着 Python 在数据阐发、机器进修等范畴的利用而引起各人的普遍存眷。利用 Python 我们能够很容易的编写一个爬虫从互联网上获取良多数据,但是若是需要将数据停止可视化就要复杂一些了。

Dash 是成立数据阐发性应用的 Python 框架,利用它不要你间接利用 JavaScript。基于 Plotly.js、React 和 Flask,Dash 能够间接连系你的数据阐发代码,构建酷炫的 UI Web 应用。

Python 数据可视化 - Dash  第1张

如上是只要 43 Python 代码构建的应用,通过 Pandas 加载 Google Finance 的数据,并利用 Dash 停止可视化。

import dashfrom dash.dePEndencies import Input, Outputimport dash_core_components as DCcimport dash_html_components as htmlfrom pandas_datareader import data as webfrom datetime import datetime as dtapp = dash.Dash('Hello World')app.laYOUt = html.Div([ dcc.Dropdown( id='my-dropdown', options=[ {'label': 'Coke', 'value': 'COKE'}, {'label': 'Tesla', 'value': 'TSLA'}, {'label': 'Apple', 'value': 'AAPL'} ], value='COKE' ), dcc.Graph(id='my-graph')], style={'width': '500'})@app.callback(Output('my-graph', 'figure'), [Input('my-dropdown', 'value')])def update_graph(selected_dropdown_value): df = web.DataReader( selected_dropdown_value, 'google', dt(2017, 1, 1), dt.now() ) return { 'data': [{ 'x': df.index, 'y': df.Close }], 'layout': {'margin': {'l': 40, 'r': 0, 't': 20, 'b': 30}} }app.css.append_css({'external_url': 'https://codepen.io/chriddyp/pen/bWLwgP.css'})if __name__ == '__main__': app.run_server()Python 数据可视化 - Dash  第2张

Dash 应用的代码是基于前端交互的响应式的气概,那使得我们能够很容易构建交互式的复杂应用。上图中的应用只要 160 行 Python 代码,是不是很简单?

项目地址:https://github.com/plotly/dash