今天我们来看看如何绘制世界疫情动态地图。同样使用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数据分析——Anaconda安装
跟小白学Python数据分析——使用spyder
跟小白学Python数据分析——数据导入1
跟小白学Python数据分析——数据导入2
跟小白学Python数据分析——描述性统计分析
跟小白学Python数据分析——分组分析
8行Python代码轻松绘制新冠疫情地图
动态新冠疫情地图Python轻松画
Python绘制16省支援湖北地图
湖北动态新冠疫情地图Python轻松画
Python抓取实时数据绘制地图
长按识别下方二维码,并关注公众号,回复“PY”领取1GB Python数据分析资料
1.回复“PY”领取1GB Python数据分析资料
2.回复“BG”领取5GB 名企数据分析报告
来源:oschina
链接:https://my.oschina.net/u/4274413/blog/4873497