互联网民工
除了努力还有什么?

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

今天我们来看看如何绘制世界疫情动态地图。同样使用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')

赞(0) 打赏
未经允许不得转载:【啸月SEO】 » 世界动态疫情地图Python轻松画
分享到: 更多 (0)

互联网民工,除了努力还有什么?

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏