知行编程网知行编程网  2022-04-06 07:00 知行编程网 隐藏边栏 |   抢沙发  74 
文章评分 0 次,平均分 0.0

利用 Flask 动态展示 Pyecharts 图表数据的几种方法

本文将介绍如何在 web 框架 Flask 中使用可视化工具 pyecharts, 看完本教程你将掌握几种动态展示可视化数据的方法,不会的话你来找我呀…

Flask 模板渲染

1. 新建一个项目flask_pyecharts

在编辑器中选择 New Project,然后选择 Flask,创建完之后,Pycharm 会帮我们把启动脚本和模板文件夹都建好

利用 Flask 动态展示 Pyecharts 图表数据的几种方法
利用 Flask 动态展示 Pyecharts 图表数据的几种方法

2. 拷贝 pyecharts 模板

将链接中的以下模板
├── jupyter_lab.html
├── jupyter_notebook.html
├── macro
├── nteract.html
├── simple_chart.html
├── simple_page.html
└── table.html
全部拷贝到 tempaltes 文件夹中
https://github.com/pyecharts/pyecharts/tree/master/pyecharts/render/templates

3.渲染图表

主要目标是将 pyecharts 生成的图表数据在视图函数中返回,所以我们直接在 app.py 中修改代码,如下:

直接运行,在浏览器中输入地址,直接将数据显示出来了

利用 Flask 动态展示 Pyecharts 图表数据的几种方法


这是一个很简单的静态数据展示,别急好戏还在后头~

Flask 前后端分离

前面讲的是一个静态数据的展示的方法,用 pyecharts 和  Flask 结合最主要是实现一种动态更新数据,增量更新数据等功能!以上面讲解的内容为基础,在 templates 文件夹中新建一个 index.html 的文件,其中主要用到了 jquery 和 pyecharts 管理的 echarts.min.js 依赖。

index.html

有 html 基础的朋友应该知道该代码主要是向地址 "127.0.0.1:5000/barChart" 发送请求,所以在 app.py 中我们也需要做相应的修改,添加该地址的路由函数,从而实现动态数据更新。
部分代码如下:

在 index 视图函数中接收浏览器传过来的参数,然后传递给 index.html。此处只是简单示例,所以未做参数校验。而另一个视图函数主要是获取参数,传给图表生成函数 bar_base(), 从而实现根据 url 地址传过来的参数,动态展示图表数据。结果如下:

利用 Flask 动态展示 Pyecharts 图表数据的几种方法

这里只是简单演示, 所以只将图表标题作为动态传参。此场景适用于第一次请求获取我们想要的数据,然后将其展示出来。比如我之前写的 NBA 球员数据可视化

Python获取NBA历史巨星和现役所有球员生涯数据曲线

就是此方法,不同球员展示对应球员数据!

定时全量更新图表

该场景主要是前端主动向后端进行数据刷新,定时刷新的核心在于 HTML 的 setInterval 方法。那么 index.html 代码就是下面这样的:

对应的将 app.py 中 bar_base() 作相应的修改,从而实现定时全量更新图表

运行之后,在浏览器中打开,效果如下:

利用 Flask 动态展示 Pyecharts 图表数据的几种方法
定时更新图表

看到这动图,有没有一种…,如果我是 DJ DJ,琦你太美…

定时增量更新图表

同样的要对 index.html 做修改

增量更新,后端代码也需要相应的修改

走起,来看看效果吧



数据分析和爬虫:

厉害了!实战爬取全网5000部手机|上篇

南京的房子卖的有多火|二手房成交数据分析上篇

南京的房子有多贵| 分析近20000套二手房的数据

爬取豆瓣短评,刘若英导演的电影《后来的我们》发现爱情原来是这样

本篇文章来源于: 菜鸟学Python

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享