首页
首页
文章目录
  1. DASH简介:
  2. Dash 的主要功能:
  3. Dash 的基本用法:
  4. 总结

Python框架之Dash

DASH简介:

Dash 是一个用于构建数据可视化和交互式网络应用的 Python 框架。它基于 Flask、Plotly 和 React,旨在简化数据分析和展示,特别适用于需要动态更新内容的交互式应用。常用于创建实时数据仪表板、报告和监控系统等。

Dash 的主要功能:

  • 数据可视化:支持使用 Plotly 创建丰富的交互式图表(如折线图、散点图、柱状图、饼图等)。

  • 交互性:支持用户输入交互,例如通过下拉框、按钮、滑动条等元素,更新页面上的图表和数据。

  • 布局管理:使用 Dash 的组件可以轻松创建复杂的布局,如网格、卡片、面板等。

  • 多种数据源支持:可以从本地文件(如 CSV、Excel)或远程数据库(如 SQL、API)中加载数据。

  • 无服务器代码:Dash 应用可以完全用 Python 编写,用户不需要编写前端 HTML、CSS 或 JavaScript。

Dash 的基本用法:

安装 Dash:

1
pip install dash 

创建一个简单的 Dash 应用:

1
2
3
4
5
6
7
8
9
10
11
import dash 
from dash import dcc, html
import plotly.express as px
# 创建 Dash 应用
app = dash.Dash(__name__)
# 生成一个简单的 Plotly 图表
fig = px.scatter(x=[1, 2, 3], y=[3, 1, 2])
# 设置应用布局
app.layout = html.Div([ html.H1("Dash 示例"), dcc.Graph(figure=fig) ])
# 运行应用
if __name__ == "__main__": app.run_server(debug=True)

使用回调函数实现交互: Dash 使用回调函数来实现交互逻辑。通过设置输入、输出和状态组件,可以在用户交互时更新应用内容。

例如,使用下拉菜单控制图表数据:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import dash from dash import dcc, html 
from dash.dependencies import Input, Output
import plotly.express as px
# 创建 Dash 应用
app = dash.Dash(__name__)
# 示例数据 df = px.data.iris()
# 设置应用布局
app.layout = html.Div([
html.H1("Dash 示例 - 下拉菜单交互"),
dcc.Dropdown(
id="species-dropdown",
options=[
{'label': species,
'value': species}
for species in df['species'].unique() ],
value='setosa' ),
dcc.Graph(id="species-graph") ])
# 设置回调函数
@app.callback(
Output("species-graph", "figure"),
[Input("species-dropdown", "value")] )
def update_graph(selected_species):
filtered_df = df[df['species'] == selected_species]
fig = px.scatter(filtered_df, x='sepal_width', y='sepal_length', color='species')
return fig
# 运行应用
if __name__ == "__main__": app.run_server(debug=True)

总结

Dash 通过将数据可视化、交互和布局设计统一到一个框架中,为开发者提供了一种非常高效的方式来构建交互式的 Web 应用。

🌹
加油,越来越好