程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

Python可视化交互库——dash

hfteth 2024-12-23 09:21:49 技术文章 16 ℃

Dash 是一款构建 Web 应用的 Python 低代码框架,建立在 Plotly.jsReactFlask 之上,将现代 UI 元素如下拉框、滑块和图形直接与 Python 代码绑定,使得熟悉python的朋友可以快速打造出演示程序。

  1. 安装

pip install dash

pip install pandas

  1. 初试
import pandas as pd
import plotly.express as px
from dash import Dash, html, dcc

app = Dash()
df = pd.DataFrame({'x': [1, 2, 3], 'SF': [4, 1, 2], 'Montreal': [2, 4, 5]})     # x是坐标轴刻度;
fig = px.bar(df, x='x', y=['SF', 'Montreal'], barmode='group')           # 柱状图

app.layout = html.Div(children=[
    html.H1(children='This is Dash Demo'),
    html.Div(children='Dash: 一款Python web应用框架'),
    dcc.Graph(id='dash-example-graph', figure=fig)
])

if __name__ == '__main__':
    app.run_server(debug=True)
  1. 结果

程序运行后,会有如下输出结果:

Dash is running on http://127.0.0.1:8050/

* Serving Flask app 'test'

* Debug mode: on

按照提示访问 : http://127.0.0.1:8050/

可以得到如下结果:


  1. 说明

layout(布局) 就像 HTML 一样,由一棵组件树构成。如代码中的 html.H1、html.Div、dcc.Graph。

dash.html 包含所有 HTML 标签,如 html.H1(children='Hello Dash') 实际上生成的 HTML 代码为 <h1>Hello Dash</h1>。

不是所有组件都是纯 HTML,模块 dash.dcc 包含交互的高级组件,底层通过 React.js、JavaScript、HTML、CSS实现。

每个组件通过关键字参数进行描述,但属性 children 比较特殊,一般总是作为第一个属性,因此不用关键字参数来描述。

app.run_server(debug=True) 可实现热加载,即修改代码后会自动刷新浏览器。

Tags:

最近发表
标签列表