当前位置: 首页 > 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.xdnf.cn/news/1081387.html

相关文章:

  • 程序计数器(PC)是什么?
  • Linux入门篇学习——Linux 帮助手册
  • 版本控制器SVN
  • 基于区块链的物联网(IoT)安全通信与数据共享的典型实例
  • 三体融合实战:Django+讯飞星火+Colossal-AI的企业级AI系统架构
  • Abase和ByteKV存储方案对比
  • [C++] C++多重继承:深入解析复杂继承关系
  • 怎么更改cursor字体大小
  • github上部署自己的静态项目
  • XILINX Kintex 7系列FPGA的全局时钟缓冲器(BUFG)和区域时钟缓冲器(BUFR/BUFH)的区别
  • hello判断
  • WPF学习笔记(23)Window、Page与Frame、ViewBox
  • 「Java案例」鸡兔同笼问题
  • [Linux]内核如何对信号进行捕捉
  • JavaWeb笔记05
  • 论文解读:《DeepGray:基于灰度图像和深度学习的恶意软件分类方法》
  • 408第三季part2 - 计算机网络 - 计算机网络基本概念
  • FastAPI 小白教程:从入门级到实战(源码教程)
  • 学习者的Python项目灵感
  • WPF 右键菜单 MenuItem 绑定图片时只显示最后一个 Icon
  • 【python实用小脚本-128】基于 Python 的 Hacker News 爬虫工具:自动化抓取新闻数据
  • 第二章-AIGC入门-开启AIGC音频探索之旅:从入门到实践(6/36)
  • 玩转n8n工作流教程(一):Windows系统本地部署n8n自动化工作流(n8n中文汉化)
  • 【基础算法】贪心 (二) :推公式
  • 基于大模型的强直性脊柱炎全周期预测与诊疗方案研究
  • 算法学习笔记:6.深度优先搜索算法——从原理到实战,涵盖 LeetCode 与考研 408 例题
  • 风平浪静、无事发生
  • 八股学习(三)---MySQL
  • 【C语言刷题】第十天:加量加餐继续,代码题训练,融会贯通IO模式
  • 类图+案例+代码详解:软件设计模式----原型模式