面对疫情,作为开源项目爱好者,我们决定做一套可视化面板,以供实时动态分析趋势。也是本站学习 python flask 后的一次实践,此项目涉及了爬虫、数据存储、翻译、可视化、异步加载等,算是本站在实时动态可视化领域的一次尝试。
在线体验地址: 2019-2020 nCov 肺炎疫情全球监测面板: https://yiqing.baiyue.one
0.项目依赖
- flask
- requests
- googletrans
- pyecharts
此项目为第二版,所有数据为实时动态爬取,因闲置机器有 8GB 内存,可自由挥霍,所以暂未设置分离式的数据库,已完成 Docker 化,任何人都可以轻松部署。
1.动态效果图
1.全屏效果
2.局部效果- 世界地图
3.局部效果- 疫情曲线
4.局部效果- 每日确诊 K 线
2.可改进思路
- 尝试从数据中提取市县级统计、或市县级增长-时间的动态演示
- 尝试制作河流图,汇集负面的疑似案例,以及正面的确诊案例(内嵌治愈、死亡)
- 与 SARS 对比图
- 与 SARS 等对比拟合本次的疫情曲线,尝试预测疫情顶峰
- 尝试嵌入今日头条热榜
- 尝试嵌入热点舆情 云词图
- 部署方法:
STEP1: 安装 Docker 基础环境(适用于 Centos、Ubuntu、Debian 等等)
echo y | bash <(curl -L -s https://raw.githubusercontent.com/Baiyuetribe/codes/master/docker.sh) #安装docker环境
STEP2:部署程序
运行程序(目前为第二版:主要为全球疫情监测):
docker run -d --name=yiqing -p 5000:5000 --log-opt max-size=50m --log-opt max-file=3 --restart=always baiyuetribe/code:yiqing2
然后访问http://ip:5000 就可以访问了。如需域名访问(请搜本站域名反代)。
如果想用旧版本(第一版:主打省市级疫情分布),可运行一下:
docker run -d --name=yiqing -p 5000:5000 --log-opt max-size=50m --log-opt max-file=3 --restart=always baiyuetribe/code:yiqing
4.其他操作
- 卸载:
docker rm -f yiqing
5.小结
该项目为本站学习 flask 的初步尝试,通过本次尝试,算是初步掌握了一套完整的数据可视化过程。不得不说,使用 python 编写后端的却很方便,而且用的越多,越上手,一切操作主要围绕在dict
、 list
、str
、num
等这些最常见的数据类型上。开发工具为:微软 vscode 、Win10 Terminator。