社区所有版块导航
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 年前 • 486 次点击  

昨天发了篇 8行Python代码轻松绘制新冠疫情地图,介绍使用PyEcharts绘制疫情地图,有朋友就问是否能绘制动态地图,那必须可以。

需要用到一个类似时间轴的Timeline组件。具体原理就是先创建一个时间轴,然后往里面添加制作好的不同时间的地图,如果地图很多,写一个循环自动读取数据就可以了。

我们先来看看绘制的动态地图效果。


本文继续采用v1.x版本进行绘制地图。

首先导入需要使用的模块:

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


然后导入需要数据,数据是这样的,存在Excel表格中:


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


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


然后定义一个每日地图绘制函数

#定义每日地图绘制函数
def map_visualmap(sequence, date) -> Map:
    c = (
        Map()
        .add(date, sequence, maptype="china")
        .set_global_opts(
            title_opts=opts.TitleOpts(title="全国疫情动态地图"),
            visualmap_opts=opts.VisualMapOpts(max_=150),
        )
    )
    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数据分析——Anaconda安装
跟小白学Python数据分析——使用spyder
跟小白学Python数据分析——数据导入1
跟小白学Python数据分析——数据导入2
跟小白学Python数据分析——描述性统计分析
跟小白学Python数据分析——分组分析
8行Python代码轻松绘制新冠疫情地图

希望系统、快速学习Python数据分析知识,可以学习

数据分析专家@文彤老师

跟文彤老师学Python数据分析》系列视频课程

包含以下四门课程

Python数据分析--玩转Pandas

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

玩转Python统计分析

玩转Python统计模型

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

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

   

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