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页面

  • 相关阅读:
    NOI2015 寿司晚宴
    bzoj3456 城市规划
    DDP入门
    HAOI2018 染色
    曹冲养猪
    采药
    跳跳棋
    基础复习笔记-最短路

    康熙环球
  • 原文地址:https://www.cnblogs.com/cyx-b/p/12817276.html
Copyright © 2011-2022 走看看