三步实现疫情数据可视化

第一步

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

当然也有其他选择可以在【】中自己找找。

第二步

调用接口

导库
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 的库进行数据可视化,下面进行调用接口获取数据。这是

可以看到我们已经获取了我们需要的数据,接下来就是分析一下数据名称与数据的关系。

对数据分类

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,然后打开他就可以了只需三步就能实现一个可视化的地图了,这个只是粗略版,后面再优化,打算实现动态更新,大家也可以自己动手进行优化。

经验分享 程序员 微信小程序 职场和发展