社区编辑申请
注册/登录
基于百度疫情实时大数据报告数据使用Pyecharts库制作省位地图和轮播图
开发 后端
这篇文章主要基于百度疫情实时大数据报告数据,利用了Python中的可视化库pyecharts给大家分享了省位地图的制作和轮播图的制作方法。

大家好,我是Python进阶者。

前言

前几天有个学生娃子找我帮忙做点可视化的作业,其实倒是也不难,觉得挺有意思,这里拿出来给大家分享,主要是完成了轮播图的制作,显得作业高大上一些。这篇文章参考了黄伟大佬的文章:酷炫的迁徙图和轮播图,用pyecharts轻松做出来。

数据来源

首先是数据来源,来自百度疫情实时大数据报告,如下图所示。

其实关于这页面上的数据采集,之前也有一篇文章写过的,这里不在赘述了,可以看这里:手把手教你用Python获取新冠疫情数据并进行可视化。

实现过程

新增感染病例

这里直接上代码和效果图,如下所示:

  1. from pyecharts.charts import Map, Timeline 
  2. from pyecharts import options as opts 
  3.  
  4. # 准数据 
  5. shanxi_city = ["西安市""延安市""咸阳市""渭南市""安康市""汉中市""宝鸡市""铜川市""商洛市""榆林市""韩城市""杨凌示范区"
  6. shanxi_data = [46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 
  7.  
  8. # 绘制陕西疫情地图 
  9. map = ( 
  10.     Map() 
  11.     .add('陕西省', [(i, j) for i, j in zip(shanxi_city, shanxi_data)], '陕西'
  12.     .set_global_opts(title_opts=opts.TitleOpts(title='陕西省新增感染病例疫情图'), visualmap_opts=opts.VisualMapOpts(max_=50, is_piecewise=True)) 
  13.  
  14. # 渲染数据 
  15. map.render('陕西省新增感染病例疫情图.html'

运行之后,得到的效果图如下所示:

现有病例

代码和上面差不多,只需要更改下数据即可,这里直接放效果图了,如下图所示:

累计病例

代码和上面差不多,只需要更改下数据即可,这里直接放效果图了,如下图所示:

治愈病例

代码和上面差不多,只需要更改下数据即可,这里直接放效果图了,如下图所示:

死亡病例

代码和上面差不多,只需要更改下数据即可,这里直接放效果图了,如下图所示:

轮播图

这里给大家分享轮播效果图的代码,原理倒是不难,后面自己直接套用就行,代码如下:

  1. from pyecharts.charts import Map, Timeline 
  2. from pyecharts import options as opts 
  3.  
  4. # 1. 准数据 
  5. shanxi_city = ["西安市""延安市""咸阳市""渭南市""安康市""汉中市""宝鸡市""铜川市""商洛市""榆林市""韩城市""杨凌示范区"
  6. xinzeng = [46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 
  7. xianyou = [1747, 13, 11, 1, 0, 0, 0, 0, 0, 0, 0, 0] 
  8. leiji = [2094, 21, 31, 18, 26, 26, 13, 8, 7, 3, 1, 1] 
  9. zhiyu = [304, 8, 20, 17, 26, 26, 13, 8, 7, 3, 1, 1] 
  10. siwang = [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 
  11.  
  12.  
  13. # 2. 绘制新增疫情地图:格式一 
  14. map1 = ( 
  15.     Map(init_opts=opts.InitOpts(width="700px", height="300px", theme="blue")) 
  16.     .add('新增病例', [(i, j) for i, j in zip(shanxi_city, xinzeng)], '陕西'
  17.     .set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=50)) 
  18.  
  19. # 3. 绘制现有疫情地图:格式二 
  20. map2 = ( 
  21.     Map() 
  22.     .add('现有病例', [(i, j) for i, j in zip(shanxi_city, xianyou)], '陕西'
  23.     .set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=1750, is_piecewise=True)) 
  24.  
  25. # 4. 绘制累计疫情地图:格式三 
  26. map3 = ( 
  27.     Map() 
  28.     .add('累计病例', [(i, j) for i, j in zip(shanxi_city, leiji)], '陕西'
  29.     .set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=2100, is_piecewise=True)) 
  30.  
  31. # 5. 绘制治愈疫情地图:格式四 
  32. map4 = ( 
  33.     Map() 
  34.     .add('治愈病例', [(i, j) for i, j in zip(shanxi_city, zhiyu)], '陕西'
  35.     .set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=310, is_piecewise=True)) 
  36.  
  37. # 6. 绘制死亡疫情地图:格式五 
  38. map5 = ( 
  39.     Map() 
  40.     .add('死亡病例', [(i, j) for i, j in zip(shanxi_city, siwang)], '陕西'
  41.     .set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=3, is_piecewise=True)) 
  42.  
  43. # 7. 创建组合类对象 
  44. timeline = Timeline(init_opts=opts.InitOpts(width='720px', height='350px')) 
  45.  
  46. # 8. 在组合对象中添加需要组合的图表对象 
  47.  
  48. timeline.add(chart=map1, time_point="陕西省新增病例疫情图"
  49. timeline.add(chart=map2, time_point="陕西省现有病例疫情图"
  50. timeline.add(chart=map3, time_point="陕西省累计病例疫情图"
  51. timeline.add(chart=map4, time_point="陕西省治愈病例疫情图"
  52. timeline.add(chart=map5, time_point="陕西省死亡病例疫情图"
  53. timeline.add_schema(is_auto_play=True, play_interval=2000) 
  54.  
  55. # 9. 渲染数据 
  56. timeline.render('陕西省疫情轮播图.html'

实现的效果图如下:

实际上它是动态的,我这里没有转gif格式,看上去有点干巴,问题不大。

总结

大家好,我是Python进阶者。这篇文章主要基于百度疫情实时大数据报告数据,利用了Python中的可视化库pyecharts给大家分享了省位地图的制作和轮播图的制作方法。

 

责任编辑:姜华 来源: Python爬虫与数据挖掘
相关推荐

2022-05-18 23:42:08

网络安全安全分析工具

2022-04-15 14:31:02

鸿蒙操作系统

2022-04-01 10:08:21

SQL 优化MySQL数据库

2022-03-21 15:29:53

大数据隐私数据分析

2022-04-21 10:49:30

智慧城市物联网

2022-05-12 14:44:38

数据中心IT云计算

2022-04-07 15:28:16

HarmonyOS鸿蒙操作系统

2022-04-29 13:15:13

数据中台管控

2022-05-17 16:56:33

开发工具前端

2022-04-30 08:43:52

Spring模块化框架

2022-05-10 09:53:45

数据治理数据开发DataOps

2022-02-23 09:50:52

PythonEchartspyecharts

2022-03-24 23:06:25

大数据技术应用

2022-05-18 20:28:23

数字化转型云计算

2022-04-14 14:25:51

大数据智慧城市数据分析

2022-04-19 08:29:12

Python机器学习

2022-05-11 14:48:33

腾讯云寿险民生保险

2022-03-21 14:30:41

云计算大数据网络安全

2022-04-14 12:24:20

2022-05-09 16:33:03

EDR终端安全

同话题下的热门内容

Python 字符串总结,建议收藏!这份Java日志格式规范,拿走不谢!Mybatis-Plus官方发布分库分表神器,一个依赖轻松搞定!后端思维篇:如何应用设计模式优化代码改变 Python 对象规则的黑魔法 Metaclass几种限流算法的Go语言实现JMeter关联之正则表达式提取器在 Go 中实现一个支持并发的 TCP 服务端

编辑推荐

使用Kotlin做开发一个月后的感想面试官问你什么是消息队列?把这篇甩给他!五大自动化测试的Python框架图文详解两种算法:深度优先遍历(DFS)和广度优先遍历(BFS)2018年最流行的十大编程语言,其中包括你用的语言吗?
我收藏的内容
点赞
收藏

51CTO技术栈公众号