打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
基于百度疫情实时大数据报告数据使用Pyecharts库制作省位地图和轮播图

嵩云秦树久离居,双鲤迢迢一纸书。

大家好,我是Python进阶者。

前言

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

数据来源

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

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

实现过程

新增感染病例

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

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 in zip(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 in zip(shanxi_city, xinzeng)], '陕西')
    .set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=50))
)

# 3. 绘制现有疫情地图:格式二
map2 = (
    Map()
    .add('现有病例', [(i, j) for i, j in zip(shanxi_city, xianyou)], '陕西')
    .set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=1750, is_piecewise=True))
)

# 4. 绘制累计疫情地图:格式三
map3 = (
    Map()
    .add('累计病例', [(i, j) for i, j in zip(shanxi_city, leiji)], '陕西')
    .set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=2100, is_piecewise=True))
)

# 5. 绘制治愈疫情地图:格式四
map4 = (
    Map()
    .add('治愈病例', [(i, j) for i, j in zip(shanxi_city, zhiyu)], '陕西')
    .set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=310, is_piecewise=True))
)

# 6. 绘制死亡疫情地图:格式五
map5 = (
    Map()
    .add('死亡病例', [(i, j) for i, j in zip(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进阶者。这篇文章主要基于百度疫情实时大数据报告数据,利用了Python中的可视化库pyecharts给大家分享了省位地图的制作和轮播图的制作方法。

最后也欢迎大家积极尝试,有好的内容也可以分享给我噢!

------------------- End -------------------

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
美国失业人数突破2200万!这个动态图我用Python画出来了
大数据可视化案例二:数据可视化地图
Python用湖南天气详情数据(可惜没雨),进行简单的可视化分析
如何将Excel中全国各省份人口数据绘制成地域分布图?
我用Python制作了全国疫情地图,其实一点都不难!
python采集最新疫情数据 数据分析可视化地图(赠送源码)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服