Py学习  »  Python

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

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

前两天篇发了两篇用PyEcharts绘制全国疫情地图,第一篇是静态的,第二篇是动态的,没看过的可以通过以下两个链接查看

8行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='4', index_col='time'
#取出城市列表
attr = data.columns.tolist()
#统计数据条数
n = len(data.index)

#定义每日地图绘制函数
def map_visualmap(sequence, date) -> Map:
    c = (
        Map()
        .add(date, sequence, maptype="湖北")
        .set_global_opts(
            title_opts=opts.TitleOpts(title="湖北疫情动态地图"),
            visualmap_opts=opts.VisualMapOpts(max_=500,
            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')

与全国动态地图不同的地方在于:

(1)set_global_opts里加入个range_color设置,只要分别设置低、中、高三个节点颜色即可。

(2)数据采用sheet_name='4'

(3)地图类型采用maptype="湖北"

(4)修改了标题及文件名称

是不是很简单呢?那你们来画个广东动态地图吧,数据在sheet_name='5'里。

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

数据分析专家@文彤老师

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

包含以下四门课程

Python数据分析--玩转Pandas

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

玩转Python统计分析

玩转Python统计模型

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

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

  

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