用python画城市轮播地图

这里是以其中5个省份的城市为例进行演示

画图前准备

在画图之前先导入相关的库

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

数据

# 1. 准数据
### 山东省
sd_c = ['青岛市','济南市','潍坊市','临沂市','烟台市','聊城市','济宁市','淄博市','菏泽市','德州市','泰安市','滨州市','威海市','东营市','枣庄市','日照市']
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个省份的各市(不完全统计)以及各市的火锅店数量

绘图

这里绘图主要是用到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")

最终的效果

小结

以上就是城市轮播图的全部讲解,代码量不多,完整源码:

https://gitee.com/lyc96/carousel-map/tree/master

以上就是用python画城市轮播地图的详细内容,更多关于python 画轮播地图的资料请关注我们其它相关文章!

(0)

相关推荐

  • Python利用folium实现地图可视化

    folium的简介 用Python处理数据,然后用Folium将它在Leaflet地图上进行可视化.Folium能够将通过Python处理后的数据轻松地在交互式的Leaflet地图上进行可视化展示.它不单单可以在地图上展示数据的分布图,还可以使用Vincent/Vega在地图上加以标记. 这个开源库中有许多来自OpenStreetMap.MapQuest Open.MapQuestOpen Aerial.Mapbox和Stamen的内建地图元件,而且支持使用Mapbox或Cloudmade的AP

  • 详解python 利用echarts画地图(热力图)(世界地图,省市地图,区县地图)

    首先安装对应的python模块 $ pip install pyecharts==0.5.10 $ pip install echarts-countries-pypkg $ pip install echarts-china-provinces-pypkg $ pip install echarts-china-cities-pypkg $ pip install echarts-china-counties-pypkg 世界地图 from pyecharts import Map value

  • python使用pyecharts库画地图数据可视化的实现

    python使用pyecharts库画地图数据可视化导库中国地图代码结果世界地图代码结果省级地图代码结果地级市地图代码结果 导库 from pyecharts import options as opts from pyecharts.charts import Map 中国地图 代码 data = [('湖北', 9074),('浙江', 661),('广东', 632),('河南', 493),('湖南', 463), ('安徽', 340),('江西', 333),('重庆', 275),

  • 利用python绘制中国地图(含省界、河流等)

    我们可以使用Basemap这个工具包来实现中国地图的绘制 首先需要加载一些包: import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.basemap import Basemap Basemap包就是气象画图的利器,现在我们就可以愉快的画图了! plt.figure(1) map=Basemap() map.drawcoastlines() plt.title(r'$World\ Map$',fontsize=2

  • Python+Kepler.gl实现时间轮播地图过程解析

    前言 1 简介 Kepler.gl作为一款强大的开源地理信息数据可视化工具,可以帮助我们轻松制作针对大规模矢量数据的可视化作品,从而辅助数据分析工作. Kepler.gl制作常规地图非常简单方便,稍微摸索一下仪表盘界面就可以get到用法,但有些特殊的地图则需要额外对数据进行处理或使用Kepler.gl中的一些隐藏功能,比如之前写过的Python+Kepler.gl轻松制作酷炫路径动画中介绍过的动态路径地图.本文将要介绍的「时间轮播地图」也是一种比较特殊的地图,下面我们就将结合实际例子进行介绍.

  • python在地图上画比例的实例详解

    现在用python画图已经难不倒一直跟小编学习的小伙伴们了,甚至有的小伙伴画图比小编还要厉害.为此小编还偷偷下了一番功夫,画图这种事情,细节上的完善肯定能让图片更加好看.所以小编知道大家会画地图,但是不一定会画地图上的比例尺.毕竟看地图怎么能没有比例尺呢?不会的小伙伴接下来就一起看看吧. 画比例尺的函数为drawmapscale.下图给出了两种比例尺示例. from mpl_toolkits.basemap import Basemap import matplotlib.pyplot as p

  • Python学习之用pygal画世界地图实例

    有关pygal的介绍和安装,大家可以参阅<pip和pygal的安装实例教程>,然后利用pygal实现画世界地图.代码如下: #coding=utf-8 import json import pygal.maps.world #Pygal样式保存在模块style中,包括RotateStyle调整颜色和LightColorizedStyle加亮颜色 #也可以写成from pygal.style import LightColorizedStyle, RotateStyle import pygal

  • 使用Python实现画一个中国地图

    为什么是Python 先来聊聊为什么做数据分析一定要用Python或R语言.编程语言这么多种,Java, PHP都很成熟,但是为什么在最近热火的数据分析领域,很多人选择用Python语言? 数据分析只是一个需求,理论上来讲,任何语言都可以满足任何需求,只是麻烦与简易之别.Python这门语言诞生也相当之早,它的第一个版本是26年前发表的,曾经(或者说当前)也被用于web开发,但是就流行程度来说,远远干不过Java和PHP.东方不亮西方亮,在与Java干仗失败的这20几年时光里,Python练就了

  • python用pyecharts实现地图数据可视化

    有的时候,我们需要对不同国家或地区的某项指标进行比较,可简单通过直方图加以比较.但直方图在视觉上并不能很好突出地区间的差异,因此考虑地理可视化,通过地图上位置(地理位置)和颜色(颜色深浅代表数值差异)两个元素加以体现.在本文案例中,基于第三方库pyecharts,对中国各省2010-2019年的GDP进行绘制. 我们先来看看最终效果: 关于绘图数据 基于时间和截面两个维度,可把数据分为截面数据.时间序列及面板数据.在本文案例中,某一年各省的GDP属于截面数据,多年各省的GDP属于面板数据.因此,

  • Python绘制地图神器folium的新人入门指南

    一.简介 想通过 Python 绘制精美的地图?想在地图上自由的设置各种参数?想获得灵活的交互体验?这里就有一款Python 神包满足你:folium. folium 建立在 Python 生态系统的数据应用能力和 Leaflet.js 库的映射能力之上,在Python中操作数据,然后通过 folium 在 Leaflet 地图中可视化. folium 相比较于国内百度的 pyecharts 灵活性更强,能够自定义绘制区域,并且展现形式更加多样化. 附:官方文档,官方示例,本文 notebook

随机推荐