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

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

dd340a0f0a47b8037a5db197b71d8471.png

01 序

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

  • python之pyecharts

  • 百度之Echarts

  • office之Excel和ppt

  • 商业智能软件Tableau

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

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

  • Map类生成地图

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

from pyecharts.charts import Map
from pyecharts import options as opts
regions = ['上城区','下城区','拱墅区','滨江区','江干区','西湖区','萧山区','余杭区','临安市','富阳区','建德市','淳安县','桐庐县']
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()

2345c2a1864d0d38a714a7b7c7aef681.png

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

c891d2d9f6d9fb9ed3422ba4d91d27a2.png

03 Echarts

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

7028d20db5dabd8c6eba756cd048c6e0.png

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

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

726c684b4574b1822191d57de58d7f8c.gif

Echarts地图均支持交互

18977d0e850cc8b5e29ca286b6cb6641.gif

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

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

04 Office

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

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

5b176d242541c98de4d4304acf21315c.png

Excel三维地图制作柱状图

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

23f3d6679b48937785a47d2fca06b5f8.png

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

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

a45bd009e8078f969a08e5ef90f01aec.png

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

05 Tableau

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

2f836c858cdb8c9334cfd09946bfe67e.png

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

06 对比与总结
  • 可视化地图是一种常用的可视化展现形式,实现手段也多种多样

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

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

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

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

4f376838d8cba3e3ac79cc91524c31fe.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/532131.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

金蝶kis专业版公网访问_金蝶KIS云专业版—【账务处理】进阶操作101问

对KIS专业版【账务处理】模块日常操作之外的各种问题进行回答,帮助老师们快速进阶此模块的操作,提高软件的便利性。1.专业版资产负债表如何移动表页位置?【操作步骤】 1、单击【报表与分析】-【资产负债表】;2、单击左上角菜单栏【…

es集群搭建_滴滴Elasticsearch 集群跨版本升级与平台重构之路

前不久,滴滴ES团队将维护的30多个ES集群,3500多个ES节点,8PB的数据,从2.3.3跨大版本无缝升级到6.6.1。在对用户查询写入基本零影响和改动的前提下,解决了ES跨大版本协议不兼容、文件格式不兼容、mapping不兼容等难题&a…

电子工程可以报考二建_非工程类专业也能报考二建吗?

非工程类专业也能报考二建吗?2020年非工程类专业能考二级建造师的省份汇总整理!2020年二级建造师考试报名公告陆续公布中,目前江西、陕西、江苏三省公布了报名时间,其他省份报名时间暂时未确定。四川省已经受疫情影响推迟五月的考…

计算机考试中英文打字题,计算机信息技术(五笔及中英文打字测试试题)

计算机信息技术(五笔及中英文打字测试试题) (14页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!14.9 积分第一章基本知识习题答案一、填空题1. 计算机信息高新技术考试划分为五、四、三、二、_ 5个等…

pil python 安装_20行Python代码给微信头像戴帽子

作者 | Leauky,北理工硕士在读,非CS专业的Python爱好者。朋友圈里微信官方要求戴圣诞帽的活动曾经火爆一时,有些会玩的小伙伴都悄咪咪地用美图秀秀一类的 app 给自己头像 p 一顶,然后可高兴地表示“哎呀好神奇hhhh”,呆…

arcgis 属性表 汇总_Arcgis中遥感影像地理配准、矢量化与地图制作

目的:将遥感图像进行地理配准、矢量化,并且制作地图。要求:对的遥感图像进行地理配准;矢量化建筑物、绿地、道路、水体等主要地物要素;对各类地物要素进行符号化设置并对其名称进行标注;添加指北针、比例尺…

怎么查看计算机的系统内存大小,Windows10系统怎么查看电脑内存大小

很多用户在升级到windows10系统之后,因为很多界面和操作都跟之前的Windows系统不一样,所以很多操作都不知道要如何下手,比如想要查看电脑内存大小的时候却不知道要怎么操作,其实方法很简单,下面给大家介绍一下Windows1…

java类初始化顺序_《To Be a Better Javaer》-- Java 基础篇 vol.2:面向对象

Java是面向对象的高级编程语言,面向对象的特征如下:面向对象具有抽象、封装、继承、多态等特性;面向对象可以将复杂的业务逻辑简单化,增强代码复用性;面向对象是一种常见的思想,比较符合人们的思考习惯。面…

计算机开机时间停在上次关机,怎么在电脑开机的时候查看上次关机前的操作

满意答案wencai242013.09.05采纳率:51% 等级:12已帮助:12606人1.看计算机在哪天运行过~运行了多久!(系统安装在c盘)找到c:\windows\SchedLgU.txt文件 里面有你自这个系统产生以来曾经工作过的时间,包括哪天开了机 开机时间 关机…

php 递归实现无限极分类和排序_PHP实现选择排序

这次说说选择排序。 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找…

idea for循环快捷键_IDEA骚技巧,编码速度至少快一倍

IDEA是目前市场上最好用的IDE,公认的!前几年eclipse在市场上非常流行,因此大多数人都习惯了eclipse的一些快捷键。近年来,随着IDEA的兴起,很多人都放弃了exlipse,进而选择了IDEA,但是有些人习惯…

从物联网到 3D 打印:硬件相关的开源项目概览 | 开源专题 No.52

arendst/Tasmota Stars: 20.4k License: GPL-3.0 Tasmota 是一款为 ESP8266 和 ESP32 设备提供的替代固件,具有易于配置的 webUI、OTA 更新、定时器或规则驱动的自动化功能以及通过 MQTT、HTTP、串口或 KNX 进行完全本地控制。该项目主要特点包括: 支持…

helm安装postgres_Helm 入门介绍 Kubernetes 上的包管理软件

这篇文章介绍一下云原生应用在 Kubernetes 上安装时,经常会用到的一个重要工具,Helm。Helm 是 Kubernetes 的包管理软件。提到包管理软件,很多人都不陌生。Maven、Gradle、pip、RubyGems 和 npm 都是包管理软件。作为一个包管理软件&#xff…

flutter 分割线_Flutter 底部弹框 showModalBottomSheet 使用Demo

题记—— 执剑天涯,从你的点滴积累开始,所及之处,必精益求精。Flutter是谷歌推出的最新的移动开发框架。【x1】微信公众号的每日提醒 随时随记 每日积累 随心而过 文章底部扫码关注【x2】各种系列的视频教程 免费开源 关注 你不会迷路【x3】系…

饥荒进地洞服务器无响应,饥荒联机洞穴设置及常见问题的解决方法

进阶篇服务端mod设置:首先(1)下载好要用mod,然后下载通用工具,解压放到DST的mod文件夹里运行(2)此时在文档\Klei\DoNotStarveTogether会多出一个文件modoverrides,把它复制到文档\klei\DoNotStarveTogether_EasyConfigCaves&#…

魔兽对战平台修改服务器数据,《魔兽争霸3》1.29补丁上线官方对战平台:平衡性大做改动...

IT之家3月1日消息 今天《魔兽争霸》官方微博宣布《魔兽争霸3》的最新补丁也就是1.29补丁已经登陆官方对战平台的PTR服务器上,想要尝鲜的用户可以前往官方对战平台进行更新和游玩。1.29补丁除了增加对于宽屏游戏的支持之外,还针对英雄单位进行平衡性的改动…

查询列名在哪张表_探索SQL-多表查询

一、表的加法(Union)1、用法:将两个表合并成一个表2、语句:select 查询结果 from 从哪张表查询 union select 查询结果 from 从哪张表查询*需保留重复行*select 查询结果 from 从哪张表查询 union all select 查询结果 from 从哪张…

使用未初始化的内存是什么意思_他们都说JVM能实际使用的内存比-Xmx指定的少?这是为什么呢...

这确实是个挺奇怪的问题,特别是当最常出现的几种解释理由都被排除后,看来JVM并没有耍一些明显的小花招:-Xmx和-Xms是相等的,因此检测结果并不会因为堆内存增加而在运行时有所变化。通过关闭自适应调整策略(-XX:-UseAdaptiveSizePo…

定义整型数组_C语言基础-数组怎么用

到目前为止,我们了解到C语言中可以使用整型,浮点型和字符型的数据类型来描述我们人类世界的各种数据,但是这些还远远不够……我们在IOT领域经常会遇到这样一个数据使用场景:某天的固定时间内,会有多台(我们…

找出一个字符串中出现次数最多的字_海量数据中找出前k大数(topk问题)

在海量数据中找出出现频率最好的前k个数,或者从海量数据中找出最大的前k个数,这类问题通常被称为top K问题。针对top K类问题,通常比较好的方案是分治Trie树/hash小顶堆(就是上面提到的最小堆),即先将数据集…