美文网首页
pyecharts绘制中国省级疫情地图

pyecharts绘制中国省级疫情地图

作者: 骑驴的草履虫 | 来源:发表于2020-07-28 15:04 被阅读0次
  • ​绘制疫情地图

看到百度的每日新冠地图,就想着自己也可以利用echarts绘制一个,但是echarts绘制特定的数据,又不想直接去抄写下来,于是搜索看有没有接口直接提供数据,最后查到天行数据可以免费的调用一万次,足够调试使用了,根据数据格式遍历提取一下就可以实现地图的绘制了。

  • 实现方案与代码

使用pyecharts 和 requests 获取天行数据提供的省市疫情数据,然后将字典数据提取后放置到Map函数设置显示。

import requests
from pyecharts.charts import Map
from pyecharts import options as opts
from pyecharts.globals import ThemeType
​
params = {
    'key': '你的apiKey'
}
response = requests.get('http://api.tianapi.com/txapi/ncovcity/index', params=params)
content = response.json()['newslist']
data = []
for item in content:
    data.append([item['provinceShortName'], item['currentConfirmedCount']])
map = (
    Map(init_opts=opts.InitOpts(bg_color="#FFFAFA", theme=ThemeType.ESSOS, width=1000))
        .add("确诊人数", data)
        .set_global_opts(
        title_opts=opts.TitleOpts(title="基于天行数据的疫情地图"),
        visualmap_opts=opts.VisualMapOpts(
            is_piecewise=True,
            pieces=[
                {"min": 2000, "label": '>2000人', "color": "#eb2f06"},
                {"min": 1000, "max": 2000, "label": '1001-2000人', "color": "#FF3030"},
                {"min": 500, "max": 1000, "label": '500-1000人', "color": "#FF4500"},
                {"min": 100, "max": 499, "label": '100-499人', "color": "#FF7F50"},
                {"min": 10, "max": 99, "label": '10-99人', "color": "#FFA500"},
                {"min": 1, "max": 9, "label": '1-9人', "color": "#FFDEAD"},
            ],
            range_text=['高', '低'],
        ),
    )
)
map.render(path="./中国疫情人数分级设色地图.html")
  • 效果图如下

image

相关文章

网友评论

      本文标题:pyecharts绘制中国省级疫情地图

      本文链接:https://www.haomeiwen.com/subject/ramfrktx.html