zoukankan      html  css  js  c++  java
  • 爬取世界疫情数据绘制疫情可视化地图

    寻找目标网站

    首先找到一个数据接口

    比如,找到这个网站https://xw.qq.com/act/qgfeiyan?pgv_ref=3gqtb&ADTAG=3gqtb

    然后鼠标右键打开检查

    找到Network,并选中XHR

    然后刷新页面

    选择ranklist

    通过preview可以看到这里有我们需要的数据信息

    然后从headers选项中找到了这些数据的接口地址

    https://api.inews.qq.com/newsqa/v1/automation/foreign/country/ranklist

    并且可以看到数据类型是json类型

    导入相关的库

    首先需要导入库,比如requests,jsonpath

    方法是找到pycharm下面的终端选项(Terminal),然后pip install XXX,比如pip install jsonpath

    还有一个pyecharts的库,这个比较复杂一点,可以参考

    https://www.cnblogs.com/cyx-b/p/12815433.html

    获取数据

    首先来个简单的,把json形式的数据获取下来

    import json
    import requests
    import jsonpath
    # 1.目标网站
    url='https://api.inews.qq.com/newsqa/v1/automation/foreign/country/ranklist'
    # 2.请求资源
    resp=requests.get(url)
    print(resp.text)

    上图所示的输出结果正是json格式

    但是,我们可以通过json.loads将其转换为字典类型

    import json
    import requests
    import jsonpath
    # 1.目标网站
    url='https://api.inews.qq.com/newsqa/v1/automation/foreign/country/ranklist'
    # 2.请求资源
    resp=requests.get(url)
    # 3.提取数据
    # 类型转换 json-->dict
    data=json.loads(resp.text)
    print(type(data))
    print(data['data'][0]['name'])

    但是这样显然很麻烦,于是我们又用到了前面安装的jsonpath

    使用方法为jsonpath.jsonpath(data,"$..name")

    data是我们的内容,$表示根节点下,

    这个很好理解,仔细观察preview部分,可以看到标签其实是分层级的,而$..name表示根节点下的任意层级name键值的部分

    import json
    import requests
    import jsonpath
    # 1.目标网站
    url='https://api.inews.qq.com/newsqa/v1/automation/foreign/country/ranklist'
    # 2.请求资源
    resp=requests.get(url)
    # 3.提取数据
    # 类型转换 json-->dict
    data=json.loads(resp.text)
    name = jsonpath.jsonpath(data,"$..name")
    print(name)

    这样就获得了受疫情影响较为严重的国家的名称

    同理,我们可以如法炮制出确诊人数的列表,查看一下确诊人数使用的标签名,是confirm

    我们只需要把国家名使用的name,改成confirm即可

    import json
    import requests
    import jsonpath
    # 1.目标网站
    url='https://api.inews.qq.com/newsqa/v1/automation/foreign/country/ranklist'
    # 2.请求资源
    resp=requests.get(url)
    # 3.提取数据
    # 类型转换 json-->dict
    data=json.loads(resp.text)
    name = jsonpath.jsonpath(data,"$..name")
    print(name)
    confirm = jsonpath.jsonpath(data,"$..confirm")
    print(confirm)

    数据的可视化

    这个部分与pyecharts的版本有关,不同版本的pyecharts对应的代码是不同的,

    pyecharts为1.X版本

    可以使用Python中的zip函数将两组数据组合到一起

    zip()的用法可以参照

    https://www.cnblogs.com/cyx-b/p/12818426.html

    import json
    import requests
    import jsonpath
    # 1.目标网站
    url='https://api.inews.qq.com/newsqa/v1/automation/foreign/country/ranklist'
    # 2.请求资源
    resp=requests.get(url)
    # 3.提取数据
    # 类型转换 json-->dict
    data=json.loads(resp.text)
    name = jsonpath.jsonpath(data,"$..name")
    print(name)
    confirm = jsonpath.jsonpath(data,"$..confirm")
    print(confirm)
    data_list = zip(name,confirm)
    print(list(data_list))

    注意看第三行的输出

    import json
    import requests
    import jsonpath
    from pyecharts import Map
    # 1.目标网站
    url='https://api.inews.qq.com/newsqa/v1/automation/foreign/country/ranklist'
    # 2.请求资源
    resp=requests.get(url)
    # 3.提取数据
    # 类型转换 json-->dict
    data=json.loads(resp.text)
    name = jsonpath.jsonpath(data,"$..name")
    print(name)
    confirm = jsonpath.jsonpath(data,"$..confirm")
    print(confirm)
    data_list = zip(name,confirm)
    print(list(data_list))
    # 4.可视化 matplotlib 和 pyecharts
    map = Map().add(series_name='世界疫情分布',
                    data_pair=data_list,
                    maptype='world',
                    is_map_symbol_show=False
    )
    map.render('世界疫情分布情况.html')

     

    但是这样显得乱糟糟的

    对代码稍作修改,通过options使得国家名称不会同时出现,而是鼠标处显示

    import json
    import requests
    import jsonpath
    from pyecharts.charts import Map,Geo
    from pyecharts import options as opts
    from pyecharts.globals import GeoType,RenderType
    # 1.目标网站
    url='https://api.inews.qq.com/newsqa/v1/automation/foreign/country/ranklist'
    # 2.请求资源
    resp=requests.get(url)
    # 3.提取数据
    # 类型转换 json-->dict
    data=json.loads(resp.text)
    name = jsonpath.jsonpath(data,"$..name")
    # print(name)
    confirm = jsonpath.jsonpath(data,"$..confirm")
    # print(confirm)
    data_list = zip(name,confirm)
    # print(list(data_list))
    # 4.可视化 matplotlib 和 pyecharts
    map = Map().add(series_name='世界疫情分布',
                    data_pair=data_list,
                    maptype='world',
                    is_map_symbol_show=False
    )
    map.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    map.render('世界疫情分布情况2.html')

    然后通过一个nameMap字典,建立国家名中英文映射,同时需要在Map.add()里面加入name_map=nameMap,就可以将疫情数据显示出来了

    import json
    import requests
    import jsonpath
    from pyecharts.charts import Map,Geo
    from pyecharts import options as opts
    from pyecharts.globals import GeoType,RenderType
    # 1.目标网站
    url='https://api.inews.qq.com/newsqa/v1/automation/foreign/country/ranklist'
    # 2.请求资源
    resp=requests.get(url)
    # 3.提取数据
    # 类型转换 json-->dict
    data=json.loads(resp.text)
    name = jsonpath.jsonpath(data,"$..name")
    # print(name)
    confirm = jsonpath.jsonpath(data,"$..confirm")
    # print(confirm)
    data_list = zip(name,confirm)
    # print(list(data_list))
    # 4.可视化 matplotlib 和 pyecharts
    
    nameMap = {
            'Singapore Rep.':'新加坡',
            'Dominican Rep.':'多米尼加',
            'Palestine':'巴勒斯坦',
            'Bahamas':'巴哈马',
            'Timor-Leste':'东帝汶',
            'Afghanistan':'阿富汗',
            'Guinea-Bissau':'几内亚比绍',
            "Côte d'Ivoire":'科特迪瓦',
            'Siachen Glacier':'锡亚琴冰川',
            "Br. Indian Ocean Ter.":'英属印度洋领土',
            'Angola':'安哥拉',
            'Albania':'阿尔巴尼亚',
            'United Arab Emirates':'阿联酋',
            'Argentina':'阿根廷',
            'Armenia':'亚美尼亚',
            'French Southern and Antarctic Lands':'法属南半球和南极领地',
            'Australia':'澳大利亚',
            'Austria':'奥地利',
            'Azerbaijan':'阿塞拜疆',
            'Burundi':'布隆迪',
            'Belgium':'比利时',
            'Benin':'贝宁',
            'Burkina Faso':'布基纳法索',
            'Bangladesh':'孟加拉国',
            'Bulgaria':'保加利亚',
            'The Bahamas':'巴哈马',
            'Bosnia and Herz.':'波斯尼亚和黑塞哥维那',
            'Belarus':'白俄罗斯',
            'Belize':'伯利兹',
            'Bermuda':'百慕大',
            'Bolivia':'玻利维亚',
            'Brazil':'巴西',
            'Brunei':'文莱',
            'Bhutan':'不丹',
            'Botswana':'博茨瓦纳',
            'Central African Rep.':'中非',
            'Canada':'加拿大',
            'Switzerland':'瑞士',
            'Chile':'智利',
            'China':'中国',
            'Ivory Coast':'象牙海岸',
            'Cameroon':'喀麦隆',
            'Dem. Rep. Congo':'刚果民主共和国',
            'Congo':'刚果',
            'Colombia':'哥伦比亚',
            'Costa Rica':'哥斯达黎加',
            'Cuba':'古巴',
            'N. Cyprus':'北塞浦路斯',
            'Cyprus':'塞浦路斯',
            'Czech Rep.':'捷克',
            'Germany':'德国',
            'Djibouti':'吉布提',
            'Denmark':'丹麦',
            'Algeria':'阿尔及利亚',
            'Ecuador':'厄瓜多尔',
            'Egypt':'埃及',
            'Eritrea':'厄立特里亚',
            'Spain':'西班牙',
            'Estonia':'爱沙尼亚',
            'Ethiopia':'埃塞俄比亚',
            'Finland':'芬兰',
            'Fiji':'',
            'Falkland Islands':'福克兰群岛',
            'France':'法国',
            'Gabon':'加蓬',
            'United Kingdom':'英国',
            'Georgia':'格鲁吉亚',
            'Ghana':'加纳',
            'Guinea':'几内亚',
            'Gambia':'冈比亚',
            'Guinea Bissau':'几内亚比绍',
            'Eq. Guinea':'赤道几内亚',
            'Greece':'希腊',
            'Greenland':'格陵兰',
            'Guatemala':'危地马拉',
            'French Guiana':'法属圭亚那',
            'Guyana':'圭亚那',
            'Honduras':'洪都拉斯',
            'Croatia':'克罗地亚',
            'Haiti':'海地',
            'Hungary':'匈牙利',
            'Indonesia':'印度尼西亚',
            'India':'印度',
            'Ireland':'爱尔兰',
            'Iran':'伊朗',
            'Iraq':'伊拉克',
            'Iceland':'冰岛',
            'Israel':'以色列',
            'Italy':'意大利',
            'Jamaica':'牙买加',
            'Jordan':'约旦',
            'Japan':'日本',
            'Japan':'日本本土',
            'Kazakhstan':'哈萨克斯坦',
            'Kenya':'肯尼亚',
            'Kyrgyzstan':'吉尔吉斯斯坦',
            'Cambodia':'柬埔寨',
            'Korea':'韩国',
            'Kosovo':'科索沃',
            'Kuwait':'科威特',
            'Lao PDR':'老挝',
            'Lebanon':'黎巴嫩',
            'Liberia':'利比里亚',
            'Libya':'利比亚',
            'Sri Lanka':'斯里兰卡',
            'Lesotho':'莱索托',
            'Lithuania':'立陶宛',
            'Luxembourg':'卢森堡',
            'Latvia':'拉脱维亚',
            'Morocco':'摩洛哥',
            'Moldova':'摩尔多瓦',
            'Madagascar':'马达加斯加',
            'Mexico':'墨西哥',
            'Macedonia':'马其顿',
            'Mali':'马里',
            'Myanmar':'缅甸',
            'Montenegro':'黑山',
            'Mongolia':'蒙古',
            'Mozambique':'莫桑比克',
            'Mauritania':'毛里塔尼亚',
            'Malawi':'马拉维',
            'Malaysia':'马来西亚',
            'Namibia':'纳米比亚',
            'New Caledonia':'新喀里多尼亚',
            'Niger':'尼日尔',
            'Nigeria':'尼日利亚',
            'Nicaragua':'尼加拉瓜',
            'Netherlands':'荷兰',
            'Norway':'挪威',
            'Nepal':'尼泊尔',
            'New Zealand':'新西兰',
            'Oman':'阿曼',
            'Pakistan':'巴基斯坦',
            'Panama':'巴拿马',
            'Peru':'秘鲁',
            'Philippines':'菲律宾',
            'Papua New Guinea':'巴布亚新几内亚',
            'Poland':'波兰',
            'Puerto Rico':'波多黎各',
            'Dem. Rep. Korea':'朝鲜',
            'Portugal':'葡萄牙',
            'Paraguay':'巴拉圭',
            'Qatar':'卡塔尔',
            'Romania':'罗马尼亚',
            'Russia':'俄罗斯',
            'Rwanda':'卢旺达',
            'W. Sahara':'西撒哈拉',
            'Saudi Arabia':'沙特阿拉伯',
            'Sudan':'苏丹',
            'S. Sudan':'南苏丹',
            'Senegal':'塞内加尔',
            'Solomon Is.':'所罗门群岛',
            'Sierra Leone':'塞拉利昂',
            'El Salvador':'萨尔瓦多',
            'Somaliland':'索马里兰',
            'Somalia':'索马里',
            'Serbia':'塞尔维亚',
            'Suriname':'苏里南',
            'Slovakia':'斯洛伐克',
            'Slovenia':'斯洛文尼亚',
            'Sweden':'瑞典',
            'Swaziland':'斯威士兰',
            'Syria':'叙利亚',
            'Chad':'乍得',
            'Togo':'多哥',
            'Thailand':'泰国',
            'Tajikistan':'塔吉克斯坦',
            'Turkmenistan':'土库曼斯坦',
            'East Timor':'东帝汶',
            'Trinidad and Tobago':'特里尼达和多巴哥',
            'Tunisia':'突尼斯',
            'Turkey':'土耳其',
            'Tanzania':'坦桑尼亚',
            'Uganda':'乌干达',
            'Ukraine':'乌克兰',
            'Uruguay':'乌拉圭',
            'United States':'美国',
            'Uzbekistan':'乌兹别克斯坦',
            'Venezuela':'委内瑞拉',
            'Vietnam':'越南',
            'Vanuatu':'瓦努阿图',
            'West Bank':'西岸',
            'Yemen':'也门',
            'South Africa':'南非',
            'Zambia':'赞比亚',
            'Zimbabwe':'津巴布韦'
        }
    map = Map().add(series_name='世界疫情分布',
                    data_pair=data_list,
                    maptype='world',
                    name_map=nameMap,
                    is_map_symbol_show=False
    )
    map.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    map.render('世界疫情分布情况3.html')

    pyecharts为0.5.10版本

    import json
    import requests
    import jsonpath
    from pyecharts import Map
    # 1.目标网站
    url='https://api.inews.qq.com/newsqa/v1/automation/foreign/country/ranklist'
    # 2.请求资源
    resp=requests.get(url)
    # 3.提取数据
    # 类型转换 json-->dict
    data=json.loads(resp.text)
    name = jsonpath.jsonpath(data,"$..name")
    print(name)
    confirm = jsonpath.jsonpath(data,"$..confirm")
    print(confirm)
    map = Map("世界疫情分布",width=1200,height=600)
    map.add("COVID19",name,confirm,maptype='world',is_map_symbol_show=False)
    map.render('世界疫情分布情况.html')

    运行成功后,工程文件夹中会出现html文件

     可以右键点击,然后选择Show in Explorer

     打开后效果如下:

    但是不难发现,鼠标移动到相应位置的时候出现的是英文名称,而且没有确诊人数的信息。

    所以首先要做一个国家名称的中英文映射

    引入一个字典,如下:

    nameMap = {
            'Singapore Rep.':'新加坡',
            'Dominican Rep.':'多米尼加',
            'Palestine':'巴勒斯坦',
            'Bahamas':'巴哈马',
            'Timor-Leste':'东帝汶',
            'Afghanistan':'阿富汗',
            'Guinea-Bissau':'几内亚比绍',
            "Côte d'Ivoire":'科特迪瓦',
            'Siachen Glacier':'锡亚琴冰川',
            "Br. Indian Ocean Ter.":'英属印度洋领土',
            'Angola':'安哥拉',
            'Albania':'阿尔巴尼亚',
            'United Arab Emirates':'阿联酋',
            'Argentina':'阿根廷',
            'Armenia':'亚美尼亚',
            'French Southern and Antarctic Lands':'法属南半球和南极领地',
            'Australia':'澳大利亚',
            'Austria':'奥地利',
            'Azerbaijan':'阿塞拜疆',
            'Burundi':'布隆迪',
            'Belgium':'比利时',
            'Benin':'贝宁',
            'Burkina Faso':'布基纳法索',
            'Bangladesh':'孟加拉国',
            'Bulgaria':'保加利亚',
            'The Bahamas':'巴哈马',
            'Bosnia and Herz.':'波斯尼亚和黑塞哥维那',
            'Belarus':'白俄罗斯',
            'Belize':'伯利兹',
            'Bermuda':'百慕大',
            'Bolivia':'玻利维亚',
            'Brazil':'巴西',
            'Brunei':'文莱',
            'Bhutan':'不丹',
            'Botswana':'博茨瓦纳',
            'Central African Rep.':'中非',
            'Canada':'加拿大',
            'Switzerland':'瑞士',
            'Chile':'智利',
            'China':'中国',
            'Ivory Coast':'象牙海岸',
            'Cameroon':'喀麦隆',
            'Dem. Rep. Congo':'刚果民主共和国',
            'Congo':'刚果',
            'Colombia':'哥伦比亚',
            'Costa Rica':'哥斯达黎加',
            'Cuba':'古巴',
            'N. Cyprus':'北塞浦路斯',
            'Cyprus':'塞浦路斯',
            'Czech Rep.':'捷克',
            'Germany':'德国',
            'Djibouti':'吉布提',
            'Denmark':'丹麦',
            'Algeria':'阿尔及利亚',
            'Ecuador':'厄瓜多尔',
            'Egypt':'埃及',
            'Eritrea':'厄立特里亚',
            'Spain':'西班牙',
            'Estonia':'爱沙尼亚',
            'Ethiopia':'埃塞俄比亚',
            'Finland':'芬兰',
            'Fiji':'',
            'Falkland Islands':'福克兰群岛',
            'France':'法国',
            'Gabon':'加蓬',
            'United Kingdom':'英国',
            'Georgia':'格鲁吉亚',
            'Ghana':'加纳',
            'Guinea':'几内亚',
            'Gambia':'冈比亚',
            'Guinea Bissau':'几内亚比绍',
            'Eq. Guinea':'赤道几内亚',
            'Greece':'希腊',
            'Greenland':'格陵兰',
            'Guatemala':'危地马拉',
            'French Guiana':'法属圭亚那',
            'Guyana':'圭亚那',
            'Honduras':'洪都拉斯',
            'Croatia':'克罗地亚',
            'Haiti':'海地',
            'Hungary':'匈牙利',
            'Indonesia':'印度尼西亚',
            'India':'印度',
            'Ireland':'爱尔兰',
            'Iran':'伊朗',
            'Iraq':'伊拉克',
            'Iceland':'冰岛',
            'Israel':'以色列',
            'Italy':'意大利',
            'Jamaica':'牙买加',
            'Jordan':'约旦',
            'Japan':'日本',
            'Japan':'日本本土',
            'Kazakhstan':'哈萨克斯坦',
            'Kenya':'肯尼亚',
            'Kyrgyzstan':'吉尔吉斯斯坦',
            'Cambodia':'柬埔寨',
            'Korea':'韩国',
            'Kosovo':'科索沃',
            'Kuwait':'科威特',
            'Lao PDR':'老挝',
            'Lebanon':'黎巴嫩',
            'Liberia':'利比里亚',
            'Libya':'利比亚',
            'Sri Lanka':'斯里兰卡',
            'Lesotho':'莱索托',
            'Lithuania':'立陶宛',
            'Luxembourg':'卢森堡',
            'Latvia':'拉脱维亚',
            'Morocco':'摩洛哥',
            'Moldova':'摩尔多瓦',
            'Madagascar':'马达加斯加',
            'Mexico':'墨西哥',
            'Macedonia':'马其顿',
            'Mali':'马里',
            'Myanmar':'缅甸',
            'Montenegro':'黑山',
            'Mongolia':'蒙古',
            'Mozambique':'莫桑比克',
            'Mauritania':'毛里塔尼亚',
            'Malawi':'马拉维',
            'Malaysia':'马来西亚',
            'Namibia':'纳米比亚',
            'New Caledonia':'新喀里多尼亚',
            'Niger':'尼日尔',
            'Nigeria':'尼日利亚',
            'Nicaragua':'尼加拉瓜',
            'Netherlands':'荷兰',
            'Norway':'挪威',
            'Nepal':'尼泊尔',
            'New Zealand':'新西兰',
            'Oman':'阿曼',
            'Pakistan':'巴基斯坦',
            'Panama':'巴拿马',
            'Peru':'秘鲁',
            'Philippines':'菲律宾',
            'Papua New Guinea':'巴布亚新几内亚',
            'Poland':'波兰',
            'Puerto Rico':'波多黎各',
            'Dem. Rep. Korea':'朝鲜',
            'Portugal':'葡萄牙',
            'Paraguay':'巴拉圭',
            'Qatar':'卡塔尔',
            'Romania':'罗马尼亚',
            'Russia':'俄罗斯',
            'Rwanda':'卢旺达',
            'W. Sahara':'西撒哈拉',
            'Saudi Arabia':'沙特阿拉伯',
            'Sudan':'苏丹',
            'S. Sudan':'南苏丹',
            'Senegal':'塞内加尔',
            'Solomon Is.':'所罗门群岛',
            'Sierra Leone':'塞拉利昂',
            'El Salvador':'萨尔瓦多',
            'Somaliland':'索马里兰',
            'Somalia':'索马里',
            'Serbia':'塞尔维亚',
            'Suriname':'苏里南',
            'Slovakia':'斯洛伐克',
            'Slovenia':'斯洛文尼亚',
            'Sweden':'瑞典',
            'Swaziland':'斯威士兰',
            'Syria':'叙利亚',
            'Chad':'乍得',
            'Togo':'多哥',
            'Thailand':'泰国',
            'Tajikistan':'塔吉克斯坦',
            'Turkmenistan':'土库曼斯坦',
            'East Timor':'东帝汶',
            'Trinidad and Tobago':'特里尼达和多巴哥',
            'Tunisia':'突尼斯',
            'Turkey':'土耳其',
            'Tanzania':'坦桑尼亚',
            'Uganda':'乌干达',
            'Ukraine':'乌克兰',
            'Uruguay':'乌拉圭',
            'United States':'美国',
            'Uzbekistan':'乌兹别克斯坦',
            'Venezuela':'委内瑞拉',
            'Vietnam':'越南',
            'Vanuatu':'瓦努阿图',
            'West Bank':'西岸',
            'Yemen':'也门',
            'South Africa':'南非',
            'Zambia':'赞比亚',
            'Zimbabwe':'津巴布韦'
        }

    然后需要在map.add里面加入name_map=nameMap,如下:

    import json
    import requests
    import jsonpath
    from pyecharts import Map
    # 1.目标网站
    url='https://api.inews.qq.com/newsqa/v1/automation/foreign/country/ranklist'
    # 2.请求资源
    resp=requests.get(url)
    # 3.提取数据
    # 类型转换 json-->dict
    data=json.loads(resp.text)
    name = jsonpath.jsonpath(data,"$..name")
    print(name)
    confirm = jsonpath.jsonpath(data,"$..confirm")
    print(confirm)
    nameMap = {
            'Singapore Rep.':'新加坡',
            'Dominican Rep.':'多米尼加',
            'Palestine':'巴勒斯坦',
            'Bahamas':'巴哈马',
            'Timor-Leste':'东帝汶',
            'Afghanistan':'阿富汗',
            'Guinea-Bissau':'几内亚比绍',
            "Côte d'Ivoire":'科特迪瓦',
            'Siachen Glacier':'锡亚琴冰川',
            "Br. Indian Ocean Ter.":'英属印度洋领土',
            'Angola':'安哥拉',
            'Albania':'阿尔巴尼亚',
            'United Arab Emirates':'阿联酋',
            'Argentina':'阿根廷',
            'Armenia':'亚美尼亚',
            'French Southern and Antarctic Lands':'法属南半球和南极领地',
            'Australia':'澳大利亚',
            'Austria':'奥地利',
            'Azerbaijan':'阿塞拜疆',
            'Burundi':'布隆迪',
            'Belgium':'比利时',
            'Benin':'贝宁',
            'Burkina Faso':'布基纳法索',
            'Bangladesh':'孟加拉国',
            'Bulgaria':'保加利亚',
            'The Bahamas':'巴哈马',
            'Bosnia and Herz.':'波斯尼亚和黑塞哥维那',
            'Belarus':'白俄罗斯',
            'Belize':'伯利兹',
            'Bermuda':'百慕大',
            'Bolivia':'玻利维亚',
            'Brazil':'巴西',
            'Brunei':'文莱',
            'Bhutan':'不丹',
            'Botswana':'博茨瓦纳',
            'Central African Rep.':'中非',
            'Canada':'加拿大',
            'Switzerland':'瑞士',
            'Chile':'智利',
            'China':'中国',
            'Ivory Coast':'象牙海岸',
            'Cameroon':'喀麦隆',
            'Dem. Rep. Congo':'刚果民主共和国',
            'Congo':'刚果',
            'Colombia':'哥伦比亚',
            'Costa Rica':'哥斯达黎加',
            'Cuba':'古巴',
            'N. Cyprus':'北塞浦路斯',
            'Cyprus':'塞浦路斯',
            'Czech Rep.':'捷克',
            'Germany':'德国',
            'Djibouti':'吉布提',
            'Denmark':'丹麦',
            'Algeria':'阿尔及利亚',
            'Ecuador':'厄瓜多尔',
            'Egypt':'埃及',
            'Eritrea':'厄立特里亚',
            'Spain':'西班牙',
            'Estonia':'爱沙尼亚',
            'Ethiopia':'埃塞俄比亚',
            'Finland':'芬兰',
            'Fiji':'',
            'Falkland Islands':'福克兰群岛',
            'France':'法国',
            'Gabon':'加蓬',
            'United Kingdom':'英国',
            'Georgia':'格鲁吉亚',
            'Ghana':'加纳',
            'Guinea':'几内亚',
            'Gambia':'冈比亚',
            'Guinea Bissau':'几内亚比绍',
            'Eq. Guinea':'赤道几内亚',
            'Greece':'希腊',
            'Greenland':'格陵兰',
            'Guatemala':'危地马拉',
            'French Guiana':'法属圭亚那',
            'Guyana':'圭亚那',
            'Honduras':'洪都拉斯',
            'Croatia':'克罗地亚',
            'Haiti':'海地',
            'Hungary':'匈牙利',
            'Indonesia':'印度尼西亚',
            'India':'印度',
            'Ireland':'爱尔兰',
            'Iran':'伊朗',
            'Iraq':'伊拉克',
            'Iceland':'冰岛',
            'Israel':'以色列',
            'Italy':'意大利',
            'Jamaica':'牙买加',
            'Jordan':'约旦',
            'Japan':'日本',
            'Japan':'日本本土',
            'Kazakhstan':'哈萨克斯坦',
            'Kenya':'肯尼亚',
            'Kyrgyzstan':'吉尔吉斯斯坦',
            'Cambodia':'柬埔寨',
            'Korea':'韩国',
            'Kosovo':'科索沃',
            'Kuwait':'科威特',
            'Lao PDR':'老挝',
            'Lebanon':'黎巴嫩',
            'Liberia':'利比里亚',
            'Libya':'利比亚',
            'Sri Lanka':'斯里兰卡',
            'Lesotho':'莱索托',
            'Lithuania':'立陶宛',
            'Luxembourg':'卢森堡',
            'Latvia':'拉脱维亚',
            'Morocco':'摩洛哥',
            'Moldova':'摩尔多瓦',
            'Madagascar':'马达加斯加',
            'Mexico':'墨西哥',
            'Macedonia':'马其顿',
            'Mali':'马里',
            'Myanmar':'缅甸',
            'Montenegro':'黑山',
            'Mongolia':'蒙古',
            'Mozambique':'莫桑比克',
            'Mauritania':'毛里塔尼亚',
            'Malawi':'马拉维',
            'Malaysia':'马来西亚',
            'Namibia':'纳米比亚',
            'New Caledonia':'新喀里多尼亚',
            'Niger':'尼日尔',
            'Nigeria':'尼日利亚',
            'Nicaragua':'尼加拉瓜',
            'Netherlands':'荷兰',
            'Norway':'挪威',
            'Nepal':'尼泊尔',
            'New Zealand':'新西兰',
            'Oman':'阿曼',
            'Pakistan':'巴基斯坦',
            'Panama':'巴拿马',
            'Peru':'秘鲁',
            'Philippines':'菲律宾',
            'Papua New Guinea':'巴布亚新几内亚',
            'Poland':'波兰',
            'Puerto Rico':'波多黎各',
            'Dem. Rep. Korea':'朝鲜',
            'Portugal':'葡萄牙',
            'Paraguay':'巴拉圭',
            'Qatar':'卡塔尔',
            'Romania':'罗马尼亚',
            'Russia':'俄罗斯',
            'Rwanda':'卢旺达',
            'W. Sahara':'西撒哈拉',
            'Saudi Arabia':'沙特阿拉伯',
            'Sudan':'苏丹',
            'S. Sudan':'南苏丹',
            'Senegal':'塞内加尔',
            'Solomon Is.':'所罗门群岛',
            'Sierra Leone':'塞拉利昂',
            'El Salvador':'萨尔瓦多',
            'Somaliland':'索马里兰',
            'Somalia':'索马里',
            'Serbia':'塞尔维亚',
            'Suriname':'苏里南',
            'Slovakia':'斯洛伐克',
            'Slovenia':'斯洛文尼亚',
            'Sweden':'瑞典',
            'Swaziland':'斯威士兰',
            'Syria':'叙利亚',
            'Chad':'乍得',
            'Togo':'多哥',
            'Thailand':'泰国',
            'Tajikistan':'塔吉克斯坦',
            'Turkmenistan':'土库曼斯坦',
            'East Timor':'东帝汶',
            'Trinidad and Tobago':'特里尼达和多巴哥',
            'Tunisia':'突尼斯',
            'Turkey':'土耳其',
            'Tanzania':'坦桑尼亚',
            'Uganda':'乌干达',
            'Ukraine':'乌克兰',
            'Uruguay':'乌拉圭',
            'United States':'美国',
            'Uzbekistan':'乌兹别克斯坦',
            'Venezuela':'委内瑞拉',
            'Vietnam':'越南',
            'Vanuatu':'瓦努阿图',
            'West Bank':'西岸',
            'Yemen':'也门',
            'South Africa':'南非',
            'Zambia':'赞比亚',
            'Zimbabwe':'津巴布韦'
        }
    map = Map("世界疫情分布",width=1200,height=600)
    map.add("COVID19",name,confirm,maptype='world',name_map=nameMap,is_map_symbol_show=False)
    map.render('世界疫情分布情况.html')

    运行成功后,刷新html页面

  • 相关阅读:
    记一道乘法&加法线段树(模版题)
    2021CCPC网络赛(重赛)题解
    Codeforces Round #747 (Div. 2)题解
    F. Mattress Run 题解
    Codeforces Round #744 (Div. 3) G题题解
    AtCoder Beginner Contest 220部分题(G,H)题解
    Educational Codeforces Round 114 (Rated for Div. 2)题解
    Codeforces Global Round 16题解
    Educational Codeforces Round 113 (Rated for Div. 2)题解
    AtCoder Beginner Contest 182 F
  • 原文地址:https://www.cnblogs.com/cyx-b/p/12817276.html
Copyright © 2011-2022 走看看