社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

小蚊子数据分析 • 4 年前 • 1552 次点击  

今天我们来看看如何绘制世界疫情动态地图。同样使用PyEcharts进行绘制,还没看过前几期使用PyEcharts绘制疫情地图文章的,可以通过以下链接查看

8行Python代码轻松绘制新冠疫情地图

中国动态新冠疫情地图Python轻松画

湖北动态新冠疫情地图Python轻松画

地图效果如下:

绘制世界疫情动态地图有个地方需要注意,就是要把国家标签隐藏起来,否则全部显示的话,那效果惨不忍睹,你们可以自己试试。

另外国家名要用英文名,为止,我还特意去找了一张国家名称对应表进行匹配处理。

数据是这样的,指标是新增确诊人数


长按识别下方二维码,并关注公众号
回复“
DTX”获取案例数据


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

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数据分析》系列视频课程

包含以下四门课程

Python数据分析--玩转Pandas

Python数据分析--玩转数据可视化

玩转Python统计分析

玩转Python统计模型

参加课程学习,可享受6折优惠

直接点击文末“阅读原文”进入即可

  

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/54679
 
1552 次点击