导读:地图可视化是一种非常直观的数据分析结果展现形式,python有很多可视化库可以实现,pyecharts就是很多python爱好者喜爱的实现地图可视化方法之一。不可否认,pyecharts绘制的地图实现方便、图形美观而且支持交互,但在面对不同需求时,其实我们还有很多其他手段实现地图可视化。

01 序

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

  • python之pyecharts

  • 百度之Echarts

  • office之Excel和ppt

  • 商业智能软件Tableau

02 pyechartspython爱好者实现地图可视化时的首选库莫过于pyecharts,是一个用于生成 Echarts 图表的类库,实现起来非常简单,做出的图表也很美观。pyecharts 分为 v0.5 和 v1 两个大版本,v0.5 和 v1 间不兼容,v1 是一个全新的版本。本文案例使用版本1.6。

import pyechartspyecharts.__version__#'1.6.0'

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

  • Map类生成地图

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

from pyecharts.charts import Mapfrom pyecharts import options as optsregions = ['上城区','下城区','拱墅区','滨江区','江干区','西湖区','萧山区','余杭区','临安市','富阳区','建德市','淳安县','桐庐县']values = [94, 98, 76, 89, 65, 64, 56, 59, 45, 23, 22, 22, 21]#随便输入的数据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以后版本的一个重要特性是支持类方法的链式调用:

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

Map类常用的方法是

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

pyecharts生成的杭州市地图

  • Geo类生成地图

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

from pyecharts.charts import Geofrom pyecharts.globals import GeoTypefrom pyecharts import options as optsregions = ['北京','上海','天津','重庆','广州','深圳','杭州','南京','成都','武汉','西安','郑州','厦门']values = [94, 98, 76, 89, 65, 64, 56, 59, 45, 23, 22, 22, 21]#随便输入的数据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')    )

03 Echarts

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

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

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

Echarts地图均支持交互

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

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

04 Office

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

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

Excel三维地图制作柱状图

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

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

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

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

05 Tableau

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

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

06 对比与总结

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

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

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

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

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

echarts map 点击地图区域变色_绘制炫酷的地图,不只是pyecharts.map!相关推荐

  1. echarts map 点击地图区域变色_绘制炫酷的地图,不只是pyecharts!

    点击上方"数据管道",选择"置顶星标"公众号 干货福利,第一时间送达 导读:地图可视化是一种非常直观的数据分析结果展现形式,python有很多可视化库可以实现, ...

  2. java地图上标记_绘制点标记-在地图上绘制-开发指南-Android 地图SDK | 高德地图API...

    点标记用来在地图上标记任何位置,例如用户位置.车辆位置.店铺位置等一切带有位置属性的事物. 地图 SDK 提供的点标记功能包含两大部分,一部分是点(俗称 Marker).另一部分是浮于点上方的信息窗体 ...

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

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

  4. 绘制炫酷的地图,不只是pyecharts!

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

  5. R语言多层桑基图_绘制炫酷桑基图,R语言(networkD3包)能搞定?

    你知道如何使用R语言绘制桑基图吗? 小锐当然知道啦,并且教你 绘制酷炫的桑基图. 开课啦 桑基图(Sankey)是一种特定类型的流程图,图中延伸的分支的宽度对应数据流量的大小,其最明显的特征就是,始末 ...

  6. Mapbox GL JS实现炫酷的地图背景

    经常看到网上的各种地图,有着炫酷的地图背景,用户体验非常不错.在Mapbox GL JS这块,其实关于地图的背景没有太多的设置.但当我们想基于Mapbox GL JS实现炫酷的地图背景改怎么办呢?这里 ...

  7. arcengine 加载地图不显示_用LSV下载城市地图、全省地图教程

    在LSV里,可以下载各种的城市地图.也可以下载DEM数据.近日,有粉丝私信给我,如何下载令人满意的城市地图/全省地图. 首先,在LSV里下载地图. 以一个地级市为例,如何下载某个地级市的行政区划+道路 ...

  8. python调用百度地图实现导航_利用python和百度地图API实现数据地图标注

    如题,先上效果图: image.png 主要分为两大步骤 使用python语句,通过百度地图API,对已知的地名抓取经纬度 使用百度地图API官网的html例程,修改数据部分,实现呈现效果 一.使用p ...

  9. python三维图形渲染 地图_原来炫酷的可视化地图,用Python就能搞定!

    对于可视化地图,Pyecharts是小F以前用的最多的. 还有应该就是一些网站了,现成的工具,不需要敲代码. 在5G手机可视化那一篇文章,也是用Pyecharts做的地图- 而对于Matplotlib ...

最新文章

  1. ERP实施流程---计划部
  2. JDK的环境变量配置
  3. python中ioerror怎么解决_Python IOError错误异常原因|python基础教程|python入门|python教程...
  4. android 判断进程是否处于前台
  5. 使用kotlin遇到的问题
  6. Java / Spring:如何快速生成整个Swagger记录的CRUD REST API
  7. NeurIPS’20 | 长尾问题太严重?半监督和自监督就可以有效缓解!
  8. java窗口小程序atm_写一个ATM机小程序(JAVA), 目前老师 讲到了 静态工厂
  9. Gartner:2017年全球公有云服务市场增长18%
  10. BZOJ 3207: 花神的嘲讽计划Ⅰ
  11. TCP半连接队列和全连接
  12. linux下如何添加定时备份任务,Linux下Oracle设置定时任务备份数据库的教程
  13. 打开计算机网络自动连接,电脑如何自动连接上网 开机自动拨号连接宽带的方法【步骤】...
  14. 瑞萨e2studio(6)----编译调试
  15. JavaSE学习总结(十四)Map集合/Map和Collection的区别/HashMap/LinkedHashMap/TreeMap/集合间的嵌套/Hashtable/Collections工具类
  16. 基于微信小程序的社区垃圾回收管理系统小程序
  17. 【CCTC 2017】来自Mesosphere、美团点评、hyper.sh、凡泰极客、深圳睿云的容器与运维技术实战...
  18. dva的用法_使用 dva 构建小型前端项目 (一)
  19. html格式转换word清除格式,如何清除掉Word文档表格里的格式?
  20. Python——os库和shutil库的使用介绍

热门文章

  1. SprinBoot 集成 Flowable/Activiti工作流引擎
  2. Hadoop集群安装部署_分布式集群安装_01
  3. (需求实战_终章) SpringBoot2.x 整合RabbitMQ
  4. 使用Unoconv和LibreOffice进行格式转换实现在线预览 doc,doxc,xls,xlsx,ppt,pptx 文件
  5. 第九篇:Spring Boot整合Spring Data JPA_入门试炼03
  6. php inputcsv,php excel格式(csv)数据导入导出(示例)
  7. python每天定时9点执行_[求助]关于twisted框架,如何每天定时执行一个scrapy爬虫...
  8. psp中java,PSP编程概述
  9. c语言十六进制字符串转整数,C语言-提取字符串中的十六进制数字并转换为一个十进制整数输出...
  10. linux自带浏览器如何更新,在deepin上安装edge浏览器后更新系统报错的解决方案