本文数据来源于之前的【全国火锅店数量分布】,不过不用担心,文中会给出用到的数据
这里因此个中5个省份的城市为例进行演示
1
画图前准备
在画图之前先导入干系的库
from pyecharts.charts import Map, Timelinefrom pyecharts import optionsfrompyechartsimportoptionsasopts
数据
# 1. 准数据### 山东省sd_c = [39;青岛市','济南市','潍坊市','临沂市','烟台市','聊城市','济宁市','淄博市','菏泽市','德州市','泰安市','滨州市','威海市','东营市','枣庄市','日照市']sd_d = [1278,1163,834,704,673,632,622,587,586,570,434,401,303,289,216,201]### 广东省gd_c = ['广州市','东莞市','佛山市','汕头市','惠州市','中山市','揭阳市','珠海市','江门市','潮州市','湛江市','清远市','汕尾市','肇庆市','茂名市','梅州市','韶关市','河源市','阳江市','云浮市']gd_d = [1925,1235,936,788,548,464,420,356,354,311,274,246,237,220,205,157,127,118,108,82]### 四川省sc_c = ['绵阳市','南充市','广元市','德阳市','宜宾市','达州市','泸州市','广安市','乐山市','遂宁市','眉山市','巴中市','凉山彝族自治州','内江市','自贡市','资阳市','雅安市','攀枝花市','阿坝藏族羌族自治州','甘孜藏族自治州']sc_d = [944,741,639,555,493,463,359,351,340,337,300,282,239,214,190,174,157,141,123,104]### 浙江省zj_c = ['杭州市','温州市','宁波市','金华市','嘉兴市','台州市','绍兴市','湖州市','丽水市','衢州市','舟山市']zj_d = [1183,792,765,582,438,381,360,288,197,103,66]### 贵州省gz_c = ['贵阳市','遵义市','毕节市','黔南布依族苗族自治州','黔西南布依族苗族自治州','六盘水市','安顺市','黔东南苗族侗族自治州','铜仁市']gz_d = [1605,887,454,414,414,381,338,291,196]
这里以5个省份为例,统计5个省份的各市(不完备统计)以及各市的火锅店数量
2
绘图
这里绘图紧张是用到pyecharts库的Map类和Timeline这两个类
个中Map是绘制城市舆图,Timeline是绘制轮播图(整合城市图)
先看一下官方案例
map1 = ( Map(init_opts=opts.InitOpts(width="700px",height="300px",theme="blue")) .add('', [(i,j) for i,j in zip(sd_c,sd_d)], '山东') .set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=4000)))
其init_opts=opts.InitOpts(width="700px",height="300px",theme="blue")这部分代码是自定义的,不须要的可以去掉(这里只是修正了默认从参数)
add中:add('', [(i,j) for i,j in zip(sd_c,sd_d)], '山东'),个中sd_c是省份对应的市,sd_d是每一个市对应的火锅店数,后面的“山东”是省份,sd_c的市是和和山东对应的
# 2. 绘制山东省舆图:格式一map1 = ( Map(init_opts=opts.InitOpts(width="700px",height="300px",theme="blue")) .add('', [(i,j) for i,j in zip(sd_c,sd_d)], '山东') .set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=4000)))# 3. 绘制广东省舆图:格式二map2 = ( Map() .add('', [(i,j) for i,j in zip(gd_c,gd_d)], '广东') .set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=400,is_piecewise=True)))# 4. 绘制四川省舆图:格式二map3 = ( Map() .add('', [(i,j) for i,j in zip(sc_c,sc_d)], '四川') .set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=400,is_piecewise=True)))# 5. 绘制浙江省舆图:格式二map4 = ( Map() .add('', [(i,j) for i,j in zip(zj_c,zj_d)], '浙江') .set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=400,is_piecewise=True)))# 6. 绘制贵州省舆图:格式二map5 = ( Map() .add('', [(i,j) for i,j in zip(gz_c,gz_d)], '贵州') .set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=400,is_piecewise=True)))
绘制轮播图
将上面的5个城市舆图(map1~map5)整合到一起,并且设置间隔为3秒进行轮播
# 4. 创建组合类工具timeline = Timeline(init_opts=opts.InitOpts(width='720px', height='350px'))# 5. 在组合工具中添加须要组合的图表工具timeline.add(chart=map1, time_point="山东省舆图")timeline.add(chart=map2, time_point="广东省舆图")timeline.add(chart=map3, time_point="四川省舆图")timeline.add(chart=map4, time_point="浙江省舆图")timeline.add(chart=map5, time_point="贵州省舆图")### 设置轮播韶光timeline.add_schema(is_auto_play=True, play_interval=3000)
末了保存成html
# 6. 渲染数据timeline.render("城市舆图轮播图.html")
终极的效果
3
小结
以上便是城市轮播图的全部讲解,代码量不多,如果须要完全源码的小伙伴可以在后台回答:01,领取本文完全源码。
送资料福利
这里有我自己整理了一套最新的python系统学习教程,包括从根本的python脚本到web开拓、爬虫、数据剖析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私信小编:“1”即可领取。