介绍 5种 绘制炫酷的地图方法

栏目: IT技术 · 发布时间: 3年前

介绍 5种 绘制炫酷的地图方法

来源 | 数据分析1480

地图可视化是一种非常直观的数据分析结果展现形式,python 有很多可视化库可以实现,pyecharts 就是很多 python 爱好者喜爱的实现地图可视化方法之一。

不可否认,pyecharts 绘制的地图实现方便、图形美观而且支持交互,但在面对不同需求时,其实我们还有很多其他手段实现地图可视化。

一、序

本文主要是介绍了多种实现地图可视化的方法,并对其绘制方式进行简单介绍和对比。主要包括以下方式:

1、python 之 pyecharts

2、百度之 Echarts

3、office之 Excel 和 ppt

4、商业智能软件 Tableau

二、 pyecharts

python爱好者实现地图可视化时的首选库莫过于pyecharts,是一个用于生成 Echarts 图表的类库,实现起来非常简单,做出的图表也很美观。

pyecharts 分为 v0.5 和 v1 两个大版本,v0.5 和 v1 间不兼容,v1 是一个全新的版本。本文案例使用版本1.6。

import pyecharts

pyecharts.__version__

#'1.6.0'

在制作地理地图方面,包括三个类,分别是map、Geo和Bmap,其中前两者是我们常用的地图可视化类,Bmap是百度地图的一个接口。

1、Map类生成地图

使用map类绘制地图支持世界、国家、省市和区县四级地图,使用前需独立安装。

from pyecharts.charts  import Map

from pyecharts  import options  as opts

regions = [ '上城区' , '下城区' , '拱墅区' , '滨江区' , '江干区' , '西湖区' , '萧山区' , '余杭区' , '临安市' , '富阳区' , '建德市' , '淳安县' , '桐庐县' ]

values = [ 94987689656456594523222221 ] #随便输入的数据

m = Map()

m.add( "" , zip(regions, values), maptype="杭州")

m.set_global_opts(title_opts=opts.TitleOpts(title= "杭州各区块吸引力" , pos_left =  'center' ),visualmap_opts=opts.VisualMapOpts(max_= 100 ))

r'hz.html'

)

V0.5到V1.0以后版本的一个重要特性是支持类方法的链式调用:

m = (Map()

.add( "" , zip(regions, values),  "杭州" )

.set_global_opts(title_opts=opts.TitleOpts(title= "杭州各区块吸引力" , pos_left =  'center' ),visualmap_opts=opts.VisualMapOpts(max_= 100 ))

r'hz.html'

))

Map类常用的方法是

##Map类常用方法,各方法里又支持大量参数进行个性化设置

add()

set_global_opts()

set_series_opts()

render()

介绍 5种 绘制炫酷的地图方法

pyecharts生成的杭州市地图

2、Geo类生成地图

与Map类似,Geo也可以通过设置maptype参数选择地图类型,默认是china,所支持方法与Map类似,具体可详细参考相关文档。

from pyecharts.charts  import Geo

from pyecharts.globals  import GeoType

from pyecharts  import options  as opts

regions = [ '北京' , '上海' , '天津' , '重庆' , '广州' , '深圳' , '杭州' , '南京' , '成都' , '武汉' , '西安' , '郑州' , '厦门' ]

values = [ 94987689656456594523222221 ] #随便输入的数据

g = (Geo()

.add_schema(maptype= "china" )

.add( "geo" , zip(regions, values), type_ = GeoType.EFFECT_SCATTER)

.set_series_opts(label_opts=opts.LabelOpts(is_show= False ))

.set_global_opts(

visualmap_opts=opts.VisualMapOpts(is_piecewise= True ),

title_opts=opts.TitleOpts(title= "Geo涟漪图" ))

.render( 'geo.html' )

)

介绍 5种 绘制炫酷的地图方法

三、 Echarts

实际上,pyecharts之所以如此强大,是发挥了python胶水语言的特性得以引入Echarts。Echarts是百度的一个图表库,基于JavaScript语言实现,官网及其社区有大量开源的案例作品。站在巨人的肩膀上,本着不重复制造轮子的原则,即便不懂js语言,也可以通过简单的更改数据和基本设置来绘制精美的可视化地图。

介绍 5种 绘制炫酷的地图方法

基于现有案例,输入关键数据即可绘制可视化地图

自从pyecharts1.0版本后,其接口函数和0.5版本有很大区别。实际上,比对pyecharts源码会发现,其参数风格与echarts的js源码很像。从这个角度说,如果一个python爱好者对pyecharts库足够熟悉的话,那么反过来也会很容易上手百度Echarts图表。

介绍 5种 绘制炫酷的地图方法

Echarts地图均支持交互

介绍 5种 绘制炫酷的地图方法

注:上述两个可视化地图案例均选自Echarts的gallery社区

还有很多其他类似Echarts的可视化平台,如大众制图、图表秀等,均可在线制作大量图表,不过一般需要注册后方可使用,而Echarts则可直接使用。

四、 Office

作为软件届的翘楚,微软不可能不占有一席之地;作为数据分析和可视化的通用基础工具,Excel和PPT也绝不会在地图可视化方面缺席。所以,如果说用python可视化库和百度Echarts在线制作地图可视化还不够接地气的话,那么office绝对称得上是家喻户晓、人尽可用。

在Excel界面中指定多列数据,其中一列是位置信息(如省份或者城市名),其余表示要可视化的数据,选择插入选项卡下插入三维地图功能,即可进入Excel制演示图界面。

介绍 5种 绘制炫酷的地图方法

Excel三维地图制作柱状图

然而,以北京各区划为例,Excel默认情况下还会识别出其他地址:例如北京市朝阳区还有吉林省长春市朝阳区,通州区也出现在江苏省南通市通州区。

介绍 5种 绘制炫酷的地图方法

Excel在识别地理位置方面还有些问题

在ppt中制作可视化地图也非常容易,手段也多种多样,主要还是依靠添加矢量地图然后进行区域编辑来实现的。添加矢量地图的方式有很多,个人选用PA插件下载地图图标添加。对于添加的矢量地图,可以任意对选中地区进行着色,从而体现数据差异。

介绍 5种 绘制炫酷的地图方法

ppt中制作可视化地图仅需逐块着色即可

五、 Tableau

谈到数据可视化,几乎避免不了要与BI软件产生联系,比如说Tableau。Tableau是专门为制作可视化图表而存在的,自然少不了地图可视化。

与Excel类似,在Tableau数据源中输入地理位置信息及相应数据后,可以通过简单的 拖拽和设置 实现地图绘制。

最为方便的是,Tableau支持便捷的筛选、标记和分组等功能。不过考虑Tableau的使用普及程度还远远不如Office、网页在线等平台,所以Tableau可能并不会成为首选。

介绍 5种 绘制炫酷的地图方法

与Tableau类似的可用于制作可视化地图的软件还有PowerBI、DataFocus等,都可以简单操作快速上手。

六、 对比与总结

1、可视化地图是一种常用的可视化展现形式,实现手段也多种多样

2、python的pyecharts库是基于百度Echarts库实现的,常用Map、Geo两个类制图,接口丰富、设置多样,图表美观且支持交互

3、百度Echarts支持在线生成可视化地图,社区有大量精美案例可供选择,简单编辑数据即可

4、office的Excel和PPT均可制作可视化地图,二者是几乎人人都会用的办公软件,操作简单、门槛较低,但功能也相对单一

5、Tableau软件制作可视化地图也非常方便且功能强大,但使用灵便程度不如前几种方式

介绍 5种 绘制炫酷的地图方法


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

30天自制操作系统

30天自制操作系统

[日] 川合秀实 / 周自恒、李黎明、曾祥江、张文旭 / 人民邮电出版社 / 2012-8 / 99.00元

自己编写一个操作系统,是许多程序员的梦想。也许有人曾经挑战过,但因为太难而放弃了。其实你错了,你的失败并不是因为编写操作系统太难,而是因为没有人告诉你那其实是一件很简单的事。那么,你想不想再挑战一次呢? 这是一本兼具趣味性、实用性与学习性的书籍。作者从计算机的构造、汇编语言、C语言开始解说,让你在实践中掌握算法。在这本书的指导下,从零编写所有代码,30天后就可以制作出一个具有窗口系统的32位......一起来看看 《30天自制操作系统》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具