世界动态疫情地图Python轻松画

百般思念 提交于 2021-01-02 13:15:25

今天我们来看看如何绘制世界疫情动态地图。同样使用PyEcharts进行绘制,还没看过前几期使用PyEcharts绘制疫情地图文章的,可以通过以下链接查看
8行Python代码轻松绘制新冠疫情地图
动态新冠疫情地图Python轻松画
湖北动态新冠疫情地图Python轻松画
地图效果如下:
世界动态疫情地图Python轻松画
绘制世界疫情动态地图有个地方需要注意,就是要把国家标签隐藏起来,否则全部显示的话,那效果惨不忍睹,你们可以自己试试。
另外国家名要用英文名,为止,我还特意去找了一张国家名称对应表进行匹配处理。
数据是这样的,指标是新增确诊人数
世界动态疫情地图Python轻松画








长按识别下方二维码,并关注公众号
回复“DTX”获取案例数据
世界动态疫情地图Python轻松画

有了前面绘图经验,我们就直接上代码了

import pandas
from pyecharts.charts import Map
from pyecharts import options as opts
from pyecharts.charts import Timeline

data = pandas.read_excel('C:/Python/xgyq.xlsx',sheet_name='6', index_col='time') 
#取出国家列表
attr = data.columns.tolist()
#统计数据条数
n = len(data.index)

#定义每日地图绘制函数
def map_visualmap(sequence, date) -> Map:
    c = (
        Map()
        .add(date, sequence, maptype="world")
        .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
        .set_global_opts(
            title_opts=opts.TitleOpts(title="世界疫情动态地图"),
            visualmap_opts=opts.VisualMapOpts(max_=20,
            range_color=["#FFFFFF","#FFCC00","#CC0000"]# 这里修改颜色,低、中、高
            ),
        )
    )
    return c

#创建时间轴对象
timeline = Timeline()

for i in range(n):
    #取每日数据
    row = data.iloc[i,].tolist()
    #将数据转换为二元的列表
    sequence_temp = list(zip(attr,row))
    #对日期格式化以便显示
    time = format(data.index[i], "%Y-%m-%d")
    #创建地图
    map_temp = map_visualmap(sequence_temp,time)
    #将地图加入时间轴对象
    timeline.add(map_temp,time).add_schema(play_interval=360)
# 地图创建完成后,通过render()方法可以将地图渲染为html 
timeline.render('世界疫情动态地图.html')

世界动态疫情地图Python轻松画

如果你喜欢本文,可以点击右下角在看
如果你在跟着学习,请在留言区留言:打卡
如果你刚看到本文,可以查看本系列历史文章跟着学习:
跟小白学Python数据分析——Anaconda安装
跟小白学Python数据分析——使用spyder
跟小白学Python数据分析——数据导入1
跟小白学Python数据分析——数据导入2
跟小白学Python数据分析——描述性统计分析
跟小白学Python数据分析——分组分析
8行Python代码轻松绘制新冠疫情地图
动态新冠疫情地图Python轻松画
Python绘制16省支援湖北地图
湖北动态新冠疫情地图Python轻松画
Python抓取实时数据绘制地图












长按识别下方二维码,并关注公众号,回复“PY”领取1GB Python数据分析资料
世界动态疫情地图Python轻松画
1.回复“PY”领取1GB Python数据分析资料
2.回复“BG”领取5GB 名企数据分析报告


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!