前几天有个学生娃子找我帮忙做点可视化的作业,其实倒是也不难,觉得挺有意思,这里拿出来给大家分享,主要是完成了轮播图的制作,显得作业高大上一些。需要技术交流,文末提供。
数据来源
首先是数据来源,来自百度疫情实时大数据报告,如下图所示。
实现过程
新增感染病例
这里直接上代码和效果图,如下所示:
from pyecharts.charts import Map, Timeline
from pyecharts import options as opts
# 准数据
shanxi_city =["西安市","延安市","咸阳市","渭南市","安康市","汉中市","宝鸡市","铜川市","商洛市","榆林市","韩城市","杨凌示范区"]
shanxi_data =[46,0,0,0,0,0,0,0,0,0,0,0]# 绘制陕西疫情地图map=(
Map().add('陕西省',[(i, j)for i, j inzip(shanxi_city, shanxi_data)],'陕西').set_global_opts(title_opts=opts.TitleOpts(title='陕西省新增感染病例疫情图'), visualmap_opts=opts.VisualMapOpts(max_=50, is_piecewise=True)))# 渲染数据map.render('陕西省新增感染病例疫情图.html')
运行之后,得到的效果图如下所示:
现有病例
代码和上面差不多,只需要更改下数据即可,这里直接放效果图了,如下图所示:
累计病例
代码和上面差不多,只需要更改下数据即可,这里直接放效果图了,如下图所示:
治愈病例
代码和上面差不多,只需要更改下数据即可,这里直接放效果图了,如下图所示:
死亡病例
代码和上面差不多,只需要更改下数据即可,这里直接放效果图了,如下图所示:
轮播图
这里给大家分享轮播效果图的代码,原理倒是不难,后面自己直接套用就行,代码如下:
from pyecharts.charts import Map, Timeline
from pyecharts import options as opts
# 1. 准数据
shanxi_city =["西安市","延安市","咸阳市","渭南市","安康市","汉中市","宝鸡市","铜川市","商洛市","榆林市","韩城市","杨凌示范区"]
xinzeng =[46,0,0,0,0,0,0,0,0,0,0,0]
xianyou =[1747,13,11,1,0,0,0,0,0,0,0,0]
leiji =[2094,21,31,18,26,26,13,8,7,3,1,1]
zhiyu =[304,8,20,17,26,26,13,8,7,3,1,1]
siwang =[3,0,0,0,0,0,0,0,0,0,0,0]# 2. 绘制新增疫情地图:格式一
map1 =(
Map(init_opts=opts.InitOpts(width="700px", height="300px", theme="blue")).add('新增病例',[(i, j)for i, j inzip(shanxi_city, xinzeng)],'陕西').set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=50)))# 3. 绘制现有疫情地图:格式二
map2 =(
Map().add('现有病例',[(i, j)for i, j inzip(shanxi_city, xianyou)],'陕西').set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=1750, is_piecewise=True)))# 4. 绘制累计疫情地图:格式三
map3 =(
Map().add('累计病例',[(i, j)for i, j inzip(shanxi_city, leiji)],'陕西').set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=2100, is_piecewise=True)))# 5. 绘制治愈疫情地图:格式四
map4 =(
Map().add('治愈病例',[(i, j)for i, j inzip(shanxi_city, zhiyu)],'陕西').set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=310, is_piecewise=True)))# 6. 绘制死亡疫情地图:格式五
map5 =(
Map().add('死亡病例',[(i, j)for i, j inzip(shanxi_city, siwang)],'陕西').set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=3, is_piecewise=True)))# 7. 创建组合类对象
timeline = Timeline(init_opts=opts.InitOpts(width='720px', height='350px'))# 8. 在组合对象中添加需要组合的图表对象
timeline.add(chart=map1, time_point="陕西省新增病例疫情图")
timeline.add(chart=map2, time_point="陕西省现有病例疫情图")
timeline.add(chart=map3, time_point="陕西省累计病例疫情图")
timeline.add(chart=map4, time_point="陕西省治愈病例疫情图")
timeline.add(chart=map5, time_point="陕西省死亡病例疫情图")
timeline.add_schema(is_auto_play=True, play_interval=2000)# 9. 渲染数据
timeline.render('陕西省疫情轮播图.html')
实现的效果图如下:实际上它是动态的,我这里没有转gif格式,看上去有点干巴,问题不大。
总结
大家好,这篇文章主要基于百度疫情实时大数据报告数据,利用了Python中的可视化库pyecharts给大家分享了省位地图的制作和轮播图的制作方法。
最后也欢迎大家积极尝试,有好的内容也可以分享给我噢!小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。
技术交流
欢迎转载、收藏、有所收获点赞支持一下!
目前开通了技术交流群,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友
- 方式①、发送如下图片至微信,长按识别,后台回复:加群;
- 方式②、添加微信号:dkl88191,备注:来自CSDN
- 方式③、微信搜索公众号:Python学习与数据挖掘,后台回复:加群
版权归原作者 Python数据挖掘 所有, 如有侵权,请联系我们删除。