python web 数据可视化框架_Python的Web可视化框架Dash(1)---简介

一、介绍

Dash是一个用于构建Web应用程序的高效Python框架。

Dash写在Flask,Plotly.js和React.js之上,非常适合在纯Python中,使用高度自定义的用户界面,构建数据可视化应用程序。它特别适合使用Python进行数据分析的人。

通过几个简单的模式,Dash抽象出构建基于Web的交互式应用程序所需的所有技术和协议。

Dash应用程序在Web浏览器中呈现,可以将应用程序部署到服务器,然后通过URL进行共享。

由于Dash应用程序是在Web浏览器中进行查看,因此Dash本质上是跨平台和移动端的。

Dash是一个开源库,在许可的MIT下发布,Plotly开发Dash,并提供了一个在企业环境中轻松部署Dash应用程序的平台。

二、应用场景

(一) 纯Python创建交互式Web应用程序

Dash是用于创建Web应用程序的用户界面库,使用Python进行数据分析、数据探索、可视化、建模、仪器控制和撰写报告的人推荐使用。

使用Dash基于分析数据构建GUI非常简单,下图是一个43行代码的Dash App示例,它将Dropdown与D3.js Plotly Graph结合起来使用。当用户在下拉列表中选择一个值时,应用程序代码会将Google财经中的数据动态导出到Pandas DataFrame中,并进行可视化(源代码)。

Dash应用程序的代码,非常灵活简单,可以很方便地构建包含许多交互元素的复杂应用程序。下图是一个包含5个输入,3个输出和交叉滤波的示例,只有160行代码,所有代码都是Python写的(源代码)。

应用程序的每个元素都可以自定义:大小,位置,颜色和字体等。Dash应用程序是在Web中构建和发布的,因此CSS的全部功能都可用。下图是一个高度定制的交互式Dash报告应用程序的示例,其中包含Goldman Sachs报告的品牌和风格(源代码)。

虽然在Web浏览器中查看Dash应用程序,但不必编写任何Javascript或HTML。Dash为一组丰富的基于Web的交互式组件提供了Python接口。

import dash_core_components as dcc

dcc.Slider(value=4, min=-10, max=20, step=0.5,

marks={-5: '-5 Degrees', 0: '0', 10: '10 Degrees'})

Dash提供了一个简单的回调装饰器,用于将自定义数据分析代码绑定到Dash用户界面,实现高级交互,如下简单示例。

@dash_app.callback(Output('graph-id', 'figure'), [Input('slider-id', 'value')])

def your_data_analysis_function(new_slider_value):

new_figure = your_compute_figure_function(new_slider_value)

return new_figure

当元素的值发生变化时,比如选择下拉菜单或拖动滑块,Da

你可能感兴趣的:(python,web,数据可视化框架)