# Sakila:PyEcharts & Flask集成案例
**Sakila样本数据库介绍** :Sakila样本数据库是MySQL官方提供的一个模拟DVD租赁信息管理的数据库。
Sakila的ER图如下:
![Sakila EER Diagram](./images/Sakila EER Diagram.png)
Sakila的业务理解,影片租赁业务的业务活动主要包括租赁活动、支付活动和归还活动。如下图:
![数据主题](./images/数据主题.png)
本文是结合Sakila的6个案例,基于 PyEcharts + Flask + Bootstrap,采用前后端分离模式,生成一个完整的数据可视化系统。本节内容的知识结构如下图所示:
![章节知识结构](./images/章节知识结构.png)
## 1. 运行演示
PyEcharts 与 Flask 框架整合以后,结合前面6个实战案例,可以整合出一个完整的数据可视化系统。系统运行以后的效果如下图所示:
![运行演示](./images/运行演示.gif)
动图分别呈现了实时指标监控、历史数据变化趋势、客户地理位置分布、订单商品构成模型、门店盈利能力对比和门店多维竞争优势。我们通过一个页面导航的方式,把它们组织在一起,形成了一个完整的数据可视化系统。
## 2. 源码结构
数据可视化分析系统的开发过程,采用前后端分离的开发模式,融合前面的 6 个实战案例。其完整的源码结构如下图所示:
![数据可视化系统源码结构](./images/数据可视化系统源码结构.png)
如上图所示,整个数据可视化系统的源码位于PyDataVisualFlask 项目下,文件夹包括:apps、data、model、static 和 templates。
- apps 是业务逻辑处理模块文件目录,
- data 是数据库操作脚本文件目录,
- model 是数据库查询模块文件目录,
- static 是资源文件目录,
- templates 是模板文件目录。
## 3. 操作流程
数据可视化系统的开发流程包括**创建一个空白项目**,**复制 PyEcharts 模板文件到项目 templates 文件目录**,**前端页面设计**,**后台应用设计**和**前后端联调**五大步骤。
完成一个图表页面的开发之后,我们会重新回到前端页面设计环节,通过循环实现新的图表页面。数据可视化系统完整的开发流程,如下图所示:
![数据可视化系统开发流程](./images/数据可视化系统开发流程.png)
1. **创建项目**:创建一个 Flask 项目,并且创建相应的文件目录结构。
2. **模板复制**:复制 PyEcharts 的模板文件到 Flask 项目的 templates 文件夹。
3. **前端页面设计**:设计需要展示的页面布局:
1. 导入 Echarts 图表库文件,
2. 声明图表对象占位符,
3. 绑定页面元素,
4. 访问远程接口,
5. 完成图表对象的参数设置和渲染。
4. **后台应用设计**:配置 PyEcharts 图表参数,设计客户端请求路由:
1. 页面路由请求:完成页面内容的渲染;
2. 数据路由请求:完成图表参数的传递。
5. **前后端联调**:一方面确保数据接口的联通,另外一方面验证功能和数据的正确性。
# 实战案例:Sakila数据可视化系统
前端页面设计部分,我们需要解决的问题是主题模板选择、导航菜单设计、图表元素设计和图表事件设计;后台应用设计部分,我们需要完成的操作包括:服务接口设计、页面请求响应设计、数据请求响应设计和异常请求处理设计。
## 1. 创建项目
1. 创建一个空白的文件夹:PyDataVisualFlask ;
2. 模板默认的访问目录是templates,故在空白文件夹下,创建一个templates文件夹,用来存放PyEcharts模板文件。
创建项目完成后的文件结构如下所示:
![创建空白项目](./images/创建空白项目.png)
## 2. 复制模板
**复制模板**指复制 PyEcharts 模板文件到新创建的 Flask 空白项目模板文件夹中。具体的操作方式分为 2 个步骤:
1. 找到 PyEcharts 模板文件;
1. 查找 PyEcharts 模板文件的路径,可以通过 pip show pyecharts 指令,查询其安装位置。具体的操作指令执行界面如下图所示:
![PyEcharts 安装目录查询](./images/PyEcharts 安装目录查询.png)
2. PyEcharts 的安装目录位于:D:\XuProgramFiles\Anaconda3\Lib\site-packages,在该目录下找到pyecharts文件夹下的templates文件夹,如下所示:
![PyEcharts 模板文件](./images/PyEcharts 模板文件.png)
2. 复制 PyEcharts 模板文件到 Flask 空白项目(这里是PyDataVisualFlask )的 templates 文件夹。复制后的目录结构如下图所示:
![项目模板文件](./images/项目模板文件.png)
## 3. 前端页面设计
### 3.1 主题模板选择
构建基于网页的 Web 类应用系统,一般要求有美观的界面,主题分明的配色方案,清晰明了的内容组织,这样能带来良好的用户体验。通常会首选免费开源的主题模板,主题模板定义了页面的组件元素、样式和配色。本案例中,选择 Bootstrap 的主题样式模板:[Matrix Admin](https://www.matrixadmin.wrappixel.com/) 开源免费版本。其官方网站如下图所示:
![Bootstrap 主题样式文件](./images/Bootstrap 主题样式文件.png)
Matrix Admin 分为开源版本和商业版本,开源版本的下载地址为:[http://matrixadmin.wrappixel.com/matrix-admin-package-full.zip](http://matrixadmin.wrappixel.com/matrix-admin-package-full.zip)。下载后得到matrix-admin-package-full.zip,依次解压得到matrix-admin-bt4文件。
解压顺序:
| 顺序 | 压缩包 | 解压后 |
| ---- | ----------------------------- | ------------------------------------------------------------ |
| 1 | matrix-admin-package-full.zip | matrix-admin-package-full ( matrix-admin-package.zip, matriz-admin-old.zip ) |
| 2 | matrix-admin-package.zip | matrix-admin-package ( matrix-admin-bt4.zip, matriz-admin-old.zip ) |
| 3 | matrix-admin-bt4.zip | matrix-admin-bt4 ( assets, dist, html ) |
Matrix Admin 文件解压以后的目录结构如下图所示:
![Matrix Admin 文件目录结构](./images/Matrix Admin 文件目录结构.png)
Matrix Admin 的文件目录,共分为 3 个文件夹:asserts、dist 和 html。
- asserts 是第三方资源依赖文件目录,
- dist 存储的是页面资源文件,
- html 存储的是示例程序。
Matrix Admin 示例程序可以直接通过浏览器查看,运行效果如下:
![Matrix Admin 运行演示](./images/Matrix Admin 运行演示.png)
上述示例程序展现了该主题模板支持的页面元素、配色方案和主题样式。我们可以通过复用其页面元素、配色方案和主题样式,结合 PyEcharts 图表设置,设计我们自己的数据可视化系统。
### 3.2 导航菜单设计
页面导航用于在各个业务模块之间进行内容切换,是多页面内容组织的一种有效方式。页面导航栏的使用,可以有效地将页面内容按照类型分组。
数据可视化系统中,按照图表类型组织内容,除实时监控数据指标卡外,一个图表类型对应一个业务场景。设计完成之后的页面导航栏,如下图所示:
![数据可视化页面导航栏](./images/数据可视化页面导航栏.png)
具体操作:
1. 将主题模板Matrix Admin 的文件夹asserts和dist 放入创建的Flask项目(这里是PyDataVisualFlask )的static文件夹内。
2. 复制主题模板Matrix Admin 的文件夹html里的index.html到创建的Flask项目(这里是PyDataVisualFlask )的templates文件夹内。
3. 修改index.html源码里页面元素组件Sidebar navigation:`<div class="scroll-sidebar">.
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 基于python+PyEcharts + Flask数据可视化系统-毕业设计源码+使用文档(高分优秀项目).zip基于python+PyEcharts + Flask数据可视化系统-毕业设计源码+使用文档(高分优秀项目).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如软件工程、计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也可作为毕设项目、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 3、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于python+PyEcharts + Flask数据可视化系统-毕业设计源码+使用文档(高分优秀项目).zip (2000个子文件)
africa 45KB
antarctica 15KB
asia 111KB
australasia 68KB
backward 4KB
style.css 409KB
style.min.css 258KB
weather-icons-wind.css 142KB
weather-icons-wind.min.css 142KB
bootstrap.min.css 137KB
material-design-iconic-font.css 83KB
materialdesignicons.min.css 76KB
material-design-iconic-font.min.css 69KB
fontawesome-all.css 45KB
fontawesome.css 43KB
fontawesome-all.min.css 36KB
fontawesome.min.css 35KB
ie7.css 35KB
weather-icons.css 31KB
bootstrap-grid.min.css 28KB
quill.bubble.css 25KB
quill.snow.css 24KB
weather-icons.min.css 23KB
bootstrap-datepicker3.standalone.min.css 21KB
bootstrap-datepicker3.min.css 21KB
dataTables.jqueryui.css 16KB
bootstrap-datepicker.standalone.min.css 16KB
themify-icons.css 16KB
fullcalendar.min.css 16KB
jquery.dataTables.css 15KB
bootstrap-datepicker.min.css 15KB
select2.min.css 15KB
dataTables.jqueryui.min.css 14KB
jquery.dataTables.min.css 14KB
jquery.dataTables.min.css 13KB
steps.css 9KB
quill.core.css 9KB
magnific-popup.css 7KB
style.css 6KB
toastr.min.css 6KB
jquery.minicolors.css 6KB
asColorPicker.min.css 6KB
datatables.css 6KB
dataTables.bootstrap4.css 5KB
dataTables.bootstrap4.css 5KB
jquery.steps.css 5KB
datatables.min.css 5KB
animation.css 5KB
dataTables.bootstrap4.min.css 5KB
dataTables.bootstrap.css 5KB
perfect-scrollbar.min.css 5KB
dataTables.bootstrap.min.css 4KB
bootstrap-reboot.min.css 4KB
dataTables.foundation.css 3KB
dataTables.semanticui.css 3KB
dataTables.foundation.min.css 3KB
dataTables.semanticui.min.css 3KB
fullcalendar.print.min.css 2KB
jquery-ui.min.css 2KB
examples.css 2KB
weather-icons-core.css 2KB
jquery.gritter.css 2KB
multicheck.css 1KB
calendar.css 966B
fa-regular.css 705B
fa-solid.css 698B
fa-brands.css 686B
float-chart.css 653B
fa-regular.min.css 650B
fa-solid.min.css 642B
fa-brands.min.css 632B
weather-icons-variables.css 0B
variables-neutral.css 0B
variables-day.css 0B
variables-time.css 0B
variables-moon.css 0B
variables-night.css 0B
variables-misc.css 0B
variables-beaufort.css 0B
variables-direction.css 0B
variables-wind-names.css 0B
Thumbs.db 67KB
materialdesignicons-webfont.eot 255KB
fa-solid-900.eot 112KB
weathericons-regular-webfont.eot 97KB
fa-brands-400.eot 97KB
themify.eot 77KB
Material-Design-Iconic-Font.eot 41KB
fa-regular-400.eot 30KB
etcetera 3KB
europe 119KB
NuGet.exe 1.54MB
gui-64.exe 74KB
cli-64.exe 73KB
cli-32.exe 64KB
cli.exe 64KB
gui-32.exe 64KB
gui.exe 64KB
factory 393B
运行演示.gif 605KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
- nxuldm2024-09-28简直是宝藏资源,实用价值很高,支持!
不走小道
- 粉丝: 3338
- 资源: 5059
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功