绘制炫酷的地图,不仅有Pyecharts!

点击“ Python编程与实战 ”,选择“置顶公众号”

第一时间获取 Python 技术干货!html


转自:数据分析1480
地图可视化是一种很是直观的数据分析结果展示形式,python 有不少可视化库能够实现,pyecharts 就是不少 python 爱好者喜好的实现地图可视化方法之一。不能否认,pyecharts 绘制的地图实现方便、图形美观并且支持交互,但在面对不一样需求时,其实咱们还有不少其余手段实现地图可视化。

1、序


本文主要是介绍了多种实现地图可视化的方法,并对其绘制方式进行简单介绍和对比。主要包括如下方式:
一、python 之 pyecharts
二、百度之 Echarts
三、office之 Excel 和 ppt
四、商业智能软件 Tableau

2、 pyecharts

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

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

import pyecharts
pyecharts.__version__
#'1.6.0'
python


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


一、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))
m.render(r'hz.html')微信


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

m = (Map()
.add("", zip(regions, values), "杭州")
.set_global_opts(title_opts=opts.TitleOpts(title="杭州各区块吸引力", pos_left = 'center' ),visualmap_opts=opts.VisualMapOpts(max_=100))
.render(r'hz.html'))echarts


Map类经常使用的方法是
机器学习

##Map类经常使用方法,各方法里又支持大量参数进行个性化设置
add()
set_global_opts()
set_series_opts()
render()
编辑器



pyecharts生成的杭州市地图函数


二、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')
    )





3、 Echarts


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

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

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

Echarts地图均支持交互


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

还有不少其余相似Echarts的可视化平台,如大众制图、图表秀等,都可在线制做大量图表,不过通常须要注册后方可以使用,而Echarts则可直接使用。

4、 Office


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


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


Excel三维地图制做柱状图

然而,以北京各区划为例,Excel默认状况下还会识别出其余地址:例如北京市朝阳区还有吉林省长春市朝阳区,通州区也出如今江苏省南通市通州区。
Excel在识别地理位置方面还有些问题

在ppt中制做可视化地图也很是容易,手段也多种多样,主要仍是依靠添加矢量地图而后进行区域编辑来实现的。添加矢量地图的方式有不少,我的选用PA插件下载地图图标添加。对于添加的矢量地图,能够任意对选中地区进行着色,从而体现数据差别。
ppt中制做可视化地图仅需逐块着色便可

5、 Tableau


谈到数据可视化,几乎避免不了要与BI软件产生联系,好比说Tableau。Tableau是专门为制做可视化图表而存在的,天然少不了地图可视化。与Excel相似,在Tableau数据源中输入地理位置信息及相应数据后,能够经过简单的拖拽和设置实现地图绘制。最为方便的是,Tableau支持便捷的筛选、标记和分组等功能。不过考虑Tableau的使用普及程度还远远不如Office、网页在线等平台,因此Tableau可能并不会成为首选。


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

6、 对比与总结


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


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


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


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


五、Tableau软件制做可视化地图也很是方便且功能强大,但使用灵便程度不如前几种方式


抽奖送书啦!


今日赠书《Python大数据与机器学习实战》





抽奖方式以下:

点击抽奖,自动开奖


推荐阅读


APP爬虫|frida-某资讯app逆向过程

爬虫|破解APP中阿里云滑动验证码

APP爬虫|逆向神器 frida 初试



THANKS

- End -




点个“在看”必升职加薪喔!

本文分享自微信公众号 - Python编程与实战(GoPy1024)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索