当前位置: 首页 > news >正文

Dash 安装使用教程

一、Dash 简介

Dash 是一个基于 Python 的 Web 应用框架,专为构建数据可视化界面而设计。它由 Plotly 团队开发,适合构建交互式仪表盘、可视化分析工具和 Web 应用,无需使用 JavaScript。


二、安装 Dash

2.1 使用 pip 安装

pip install dash

推荐同时安装 Plotly:

pip install plotly

2.2 验证安装

python -c "import dash; print(dash.__version__)"

三、Dash 应用结构

Dash 应用由以下三部分组成:

  1. Layout:应用的页面结构和元素;
  2. Callback:用户交互逻辑;
  3. Server:运行应用的 Web 服务。

四、第一个 Dash 示例

import dash
from dash import htmlapp = dash.Dash(__name__)app.layout = html.Div(children=[html.H1("Hello Dash!"),html.P("这是你的第一个 Dash 应用")
])if __name__ == '__main__':app.run_server(debug=True)

运行后打开浏览器访问:http://127.0.0.1:8050/


五、添加图表与交互组件

import dash
from dash import dcc, html
import plotly.express as px
import pandas as pddf = px.data.gapminder().query("year == 2007")app = dash.Dash(__name__)
app.layout = html.Div([html.H1("GDP 与寿命关系"),dcc.Dropdown(id="continent",options=[{"label": c, "value": c} for c in df["continent"].unique()],value="Asia"),dcc.Graph(id="scatter")
])@app.callback(dash.dependencies.Output("scatter", "figure"),[dash.dependencies.Input("continent", "value")]
)
def update_graph(continent):filtered = df[df["continent"] == continent]fig = px.scatter(filtered, x="gdpPercap", y="lifeExp",size="pop", color="country", hover_name="country",log_x=True, size_max=60)return figif __name__ == '__main__':app.run_server(debug=True)

六、部署 Dash 应用

6.1 本地部署(开发阶段)

python app.py

6.2 使用 gunicorn + Flask(生产)

pip install gunicorn
gunicorn app:server

6.3 使用平台部署

  • Heroku(适合初学者)
  • Render、Vercel、Railway(支持免费试用)
  • Docker 镜像部署到云服务器

七、常见问题

Q1: 报错 “ModuleNotFoundError: No module named ‘dash’”?

请确认使用了正确的 Python 环境,并已安装 Dash:

pip install dash

Q2: 网页打不开?

确保 Dash 应用正常运行,访问地址为:http://127.0.0.1:8050/


八、推荐学习资源

  • Dash 官方文档
  • Plotly 图表库
  • Dash 中文社区
  • 《Interactive Dashboards and Data Apps with Plotly and Dash》

本文由“小奇Java面试”原创发布,转载请注明出处。

可以搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。

在这里插入图片描述

http://www.dtcms.com/a/266954.html

相关文章:

  • 浅层神经网络:原理与Python实现
  • Golang服务端处理Unity 3D游戏地图与碰撞的详细实现
  • docker运行的一些常用命令
  • SAP入门到放弃系列-流程订单-Process Instruction Category-自定义设置
  • QNetworkAccessManager异步请求有时候操作UI控件崩溃问题
  • ASP.NET MVC架构 路由提取
  • 第2期汽车模型数字工程沙龙,世冠科技分享汽车控制系统开发国产应用
  • 飞凌OK3568核心板与FPGA之间PCIe通信测试操作手册
  • FPGA实现40G网卡NIC,基于PCIE4C+40G/50G Ethernet subsystem架构,提供工程源码和技术支持
  • Day05: Python 中的并发和并行(1)
  • 堆的应用(建堆、堆排序、TOP-K问题)
  • 网安系列【3】之深入理解内容安全策略(CSP)
  • 迁移Ubuntu启动文件到另一块硬盘
  • ubuntu 18.04配置镜像源
  • 操作Choose Boot Java Run time for the IDE 导致AS重新安装后依然无法启动(已解决)
  • 考研408《计算机组成原理》复习笔记,第三章(3)——多模块存储器
  • Web前端:全选框的使用
  • Abase和ByteKV存储方案对比
  • 【C#】入门
  • tmux 左下角会话名显示不全的解决方法
  • SpringBoot-规划多模块目录结构
  • 项目介绍:Awesome System Prompts
  • 免费PDF处理软件,支持多种操作
  • 开源项目XYZ.ESB:数据库到数据库(DB->DB)集成
  • 系统架构师
  • Class5多层感知机的从零开始实现
  • Linux awk 命令
  • 浅谈 webshell 构造之如何获取恶意函数
  • chrome插件合集
  • 4 位量化 + FP8 混合精度:ERNIE-4.5-0.3B-Paddle本地部署,重新定义端侧推理效率