三步实现疫情数据可视化

在这里插入图片描述

这是效果图,我这做的是以累计确诊的数据基础实现的地图,这里还是顺便插一嘴,当前疫情形势严峻,大家还是尽量减少不必要的外出,不给国家,社会添乱。最后保护好自己!

第一步

进入正题,第一步我们就是找数据,这里推荐使用官方的接口,当然你也可以用爬虫爬取,我使用的是腾讯提供的官方接口

https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5

当然也有其他选择可以在【新型冠状病毒全国疫情Api接口】中自己找找。

第二步

调用接口
导库
import requests
import json
from pyecharts.globals import ThemeType
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Map

这是我所使用的库,使用了pyecharts 的库进行数据可视化,下面进行调用接口获取数据。这是官方中文示例文档

url = "https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5"
res = requests.get(url).json()
data = json.loads(res['data']) # 数据都在data里

在这里插入图片描述
可以看到我们已经获取了我们需要的数据,接下来就是分析一下数据名称与数据的关系。

对数据分类
areaData = data['areaTree']
chinaData = areaData[0]
provinces = chinaData['children']
city = []
province = []
# 以下的都是累计的
confirm = []
dead = []  
heal = []
对数据处理
for i in provinces:
    for a in i['children']:
        # 省份名称
        province.append(i['name'])
        # 城市名称
        city.append(a['name'])
        # 确诊总数
        confirm.append(a['total']['confirm'])
        # 治愈总数
        heal.append(a['total']['heal'])
        # 死亡总数
        dead.append(a['total']['dead'])

china_info = pd.DataFrame({'city': city, 'province': province, 'confirm': confirm, 'heal': heal, 'dead': dead,})

print(china_info)

让我们打印数据看看
在这里插入图片描述
可以看到我们已经获得了规范的数据了那接下就可以借助pyecharts进行导入map就行了。

第三步

将数据导入pyecharts
map = (
            Map(init_opts=opts.InitOpts()) #这里可以改大小和背景啥的不懂可以看看官方文档
            .add(
                '各省累计确诊人数',
                [list(z) for z in zip(list(china_info["province"]), list(china_info['confirm']))], 
                'china',
                is_map_symbol_show=False,
            )
            .set_global_opts(
                title_opts=opts.TitleOpts('中国各省累计确诊人数'),
                visualmap_opts=opts.VisualMapOpts(
                    max_=70000, # 为了实现颜色,这是设置最大值 
                    split_number=50,  # 因为跨度有点大我为了区分设置多了点这个大家可以自己设置
                    is_piecewise=True, 

                ),

            )
            .render('Try.html')
        )

这样我们就完成了只需运行就会生成一个html,然后打开他就可以了只需三步就能实现一个可视化的地图了,这个只是粗略版,后面再优化,打算实现动态更新,大家也可以自己动手进行优化。

  • 17
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 24
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aasee.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值