利用pyecharts实现地图可视化的例子


Posted in Python onAugust 12, 2019

pyecharts 是一个用于生成 Echarts 图表的类库。Echarts 是百度开源的一个数据可视化 JS 库。用 Echarts 生成的图可视化效果非常棒,pyecharts 是为了与 Python 进行对接,方便在 Python 中直接使用数据生成图。

今天我们就用pyecharts和jupyter notebook实现地图数据的可视化。

pyecharts v0.3.2以后,pyecharts 将不再自带地图 js 文件。如用户需要用到地图图表,可自行安装对应的地图文件包。

下面介绍如何安装。

地图文件被分成了三个 Python 包,分别为:

全球国家地图: echarts-countries-pypkg (1.9MB)

中国省级地图: echarts-china-provinces-pypkg (730KB)

中国市级地图: echarts-china-cities-pypkg (3.8MB)

直接使用python的pip安装:

pip install echarts-countries-pypkg
pip install echarts-china-provinces-pypkg
pip install echarts-china-cities-pypkg

这里要提醒大家,一定要注意,安装完地图包以后一定要重启jupyter notebook,不然是无法显示地图的。

安装完毕我们就可以直接画图了。

两个项目:

一、全国主要城市空气质量

from pyecharts import Geo
 
data = [
  ("海门", 9),("鄂尔多斯", 12),("招远", 12),("舟山", 12),("齐齐哈尔", 14),("盐城", 15),
  ("赤峰", 16),("青岛", 18),("乳山", 18),("金昌", 19),("泉州", 21),("莱西", 21),
  ("日照", 21),("胶南", 22),("南通", 23),("拉萨", 24),("云浮", 24),("梅州", 25),
  ("文登", 25),("上海", 25),("攀枝花", 25),("威海", 25),("承德", 25),("厦门", 26),
  ("汕尾", 26),("潮州", 26),("丹东", 27),("太仓", 27),("曲靖", 27),("烟台", 28),
  ("福州", 29),("瓦房店", 30),("即墨", 30),("抚顺", 31),("玉溪", 31),("张家口", 31),
  ("阳泉", 31),("莱州", 32),("湖州", 32),("汕头", 32),("昆山", 33),("宁波", 33),
  ("湛江", 33),("揭阳", 34),("荣成", 34),("连云港", 35),("葫芦岛", 35),("常熟", 36),
  ("东莞", 36),("河源", 36),("淮安", 36),("泰州", 36),("南宁", 37),("营口", 37),
  ("惠州", 37),("江阴", 37),("蓬莱", 37),("韶关", 38),("嘉峪关", 38),("广州", 38),
  ("延安", 38),("太原", 39),("清远", 39),("中山", 39),("昆明", 39),("寿光", 40),
  ("盘锦", 40),("长治", 41),("深圳", 41),("珠海", 42),("宿迁", 43),("咸阳", 43),
  ("铜川", 44),("平度", 44),("佛山", 44),("海口", 44),("江门", 45),("章丘", 45),
  ("肇庆", 46),("大连", 47),("临汾", 47),("吴江", 47),("石嘴山", 49),("沈阳", 50),
  ("苏州", 50),("茂名", 50),("嘉兴", 51),("长春", 51),("胶州", 52),("银川", 52),
  ("张家港", 52),("三门峡", 53),("锦州", 54),("南昌", 54),("柳州", 54),("三亚", 54),
  ("自贡", 56),("吉林", 56),("阳江", 57),("泸州", 57),("西宁", 57),("宜宾", 58),
  ("呼和浩特", 58),("成都", 58),("大同", 58),("镇江", 59),("桂林", 59),("张家界", 59),
  ("宜兴", 59),("北海", 60),("西安", 61),("金坛", 62),("东营", 62),("牡丹江", 63),
  ("遵义", 63),("绍兴", 63),("扬州", 64),("常州", 64),("潍坊", 65),("重庆", 66),
  ("台州", 67),("南京", 67),("滨州", 70),("贵阳", 71),("无锡", 71),("本溪", 71),
  ("克拉玛依", 72),("渭南", 72),("马鞍山", 72),("宝鸡", 72),("焦作", 75),("句容", 75),
  ("北京", 79),("徐州", 79),("衡水", 80),("包头", 80),("绵阳", 80),("乌鲁木齐", 84),
  ("枣庄", 84),("杭州", 84),("淄博", 85),("鞍山", 86),("溧阳", 86),("库尔勒", 86),
  ("安阳", 90),("开封", 90),("济南", 92),("德阳", 93),("温州", 95),("九江", 96),
  ("邯郸", 98),("临安", 99),("兰州", 99),("沧州", 100),("临沂", 103),("南充", 104),
  ("天津", 105),("富阳", 106),("泰安", 112),("诸暨", 112),("郑州", 113),("哈尔滨", 114),
  ("聊城", 116),("芜湖", 117),("唐山", 119),("平顶山", 119),("邢台", 119),("德州", 120),
  ("济宁", 120),("荆州", 127),("宜昌", 130),("义乌", 132),("丽水", 133),("洛阳", 134),
  ("秦皇岛", 136),("株洲", 143),("石家庄", 147),("莱芜", 148),("常德", 152),("保定", 153),
  ("湘潭", 154),("金华", 157),("岳阳", 169),("长沙", 175),("衢州", 177),("廊坊", 193),
  ("菏泽", 194),("合肥", 229),("武汉", 273),("大庆", 279)]
geo = Geo("全国主要城市空气质量", "data from pm2.5", title_color="#fff",
     title_pos="center", width=1000,
     height=600, background_color='#404a59')
attr, value = geo.cast(data)
geo.add("", attr, value, visual_range=[0, 200], maptype='china',visual_text_color="#fff",
    symbol_size=10, is_visualmap=True)
geo.render("全国主要城市空气质量.html")#生成html文件
geo#直接在notebook中显示

结果如下:

利用pyecharts实现地图可视化的例子

二、沧州市图例面积

from pyecharts import Map
districts = ['运河区', '新华区', '泊头市', '任丘市', '黄骅市', '河间市', '沧县', '青县', '东光县', '海兴县', '盐山县', '肃宁县', '南皮县', '吴桥县', '献县', '孟村回族自治县']
areas = [109.92, 109.47, 1006.5, 1023.0, 1544.7, 1333.0, 1104.0, 968.0, 730.0, 915.1, 796.0, 525.0, 794.0, 600.0, 1191.0, 387.0]
map_1 = Map("沧州市图例-各区面积", width=1200, height=600)
map_1.add("", districts, areas, maptype='沧州', is_visualmap=True, visual_range=[min(areas), max(areas)],
    visual_text_color='#000', is_map_symbol_show=False, is_label_show=True)
map_1

利用pyecharts实现地图可视化的例子

最后,附上pyecharts的中文文档地址,感谢作者。http://pyecharts.org

以上这篇利用pyecharts实现地图可视化的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python基础教程之基本数据类型和变量声明介绍
Aug 29 Python
python生成器generator用法实例分析
Jun 04 Python
使用C#配合ArcGIS Engine进行地理信息系统开发
Feb 19 Python
python对象及面向对象技术详解
Jul 19 Python
基于python代码实现简易滤除数字的方法
Jul 17 Python
python3+requests接口自动化session操作方法
Oct 13 Python
django框架模板语言使用方法详解
Jul 18 Python
使用Python实现正态分布、正态分布采样
Nov 20 Python
Python协程 yield与协程greenlet简单用法示例
Nov 22 Python
Python代码生成视频的缩略图的实例讲解
Dec 22 Python
pytorch中torch.max和Tensor.view函数用法详解
Jan 03 Python
Python 日期的转换及计算的具体使用详解
Jan 16 Python
django echarts饼图数据动态加载的实例
Aug 12 #Python
python scrapy爬虫代码及填坑
Aug 12 #Python
Python 中的 global 标识对变量作用域的影响
Aug 12 #Python
Python中pymysql 模块的使用详解
Aug 12 #Python
python中类的输出或类的实例输出为这种形式的原因
Aug 12 #Python
对Django 中request.get和request.post的区别详解
Aug 12 #Python
python文字和unicode/ascll相互转换函数及简单加密解密实现代码
Aug 12 #Python
You might like
DOMXML函数笔记
2006/10/09 PHP
解析php中session的实现原理以及大网站应用应注意的问题
2013/06/17 PHP
php5.3以后的版本连接sqlserver2000的方法
2014/07/28 PHP
Zend Framework 2.0事件管理器(The EventManager)入门教程
2014/08/11 PHP
php获取URL中带#号等特殊符号参数的解决方法
2014/09/02 PHP
双冒号 ::在PHP中的使用情况
2015/11/05 PHP
php面向对象值单例模式
2016/05/03 PHP
Yii核心验证器api详解
2016/11/23 PHP
Ext javascript建立超链接,进行事件处理的实现方法
2009/03/22 Javascript
javascript入门基础之私有变量
2010/02/23 Javascript
jQuery调用WebService的实现代码
2011/06/19 Javascript
读jQuery之八 包装事件对象
2011/06/21 Javascript
浅析jQuery中常用的元素查找方法总结
2013/07/04 Javascript
jquery实现div阴影效果示例代码
2013/09/16 Javascript
jquery遍历select元素(实例讲解)
2013/12/31 Javascript
JavaScript中变量声明有var和没var的区别示例介绍
2014/09/15 Javascript
windows8.1+iis8.5下安装node.js开发环境
2014/12/12 Javascript
深入学习jQuery Validate表单验证
2016/01/18 Javascript
ionic js 模型 $ionicModal 可以遮住用户主界面的内容框
2016/06/06 Javascript
javascript滚轮控制模拟滚动条
2016/10/19 Javascript
微信页面倒计时代码(解决safari不兼容date的问题)
2016/12/13 Javascript
利用JQuery实现datatables插件的增加和删除行功能
2017/01/06 Javascript
Angularjs单选改为多选的开发过程及问题解析
2017/02/17 Javascript
在Vue项目中引入腾讯验证码服务的教程
2018/04/03 Javascript
详解Vue源码学习之双向绑定
2019/04/10 Javascript
Flutter 超实用简单菜单弹出框 PopupMenuButton功能
2019/08/06 Javascript
[48:31]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第一场 2月2日
2021/03/11 DOTA
matplotlib subplots 设置总图的标题方法
2018/05/25 Python
在python中按照特定顺序访问字典的方法详解
2018/12/14 Python
python3 cvs将数据读取为字典的方法
2018/12/22 Python
django框架防止XSS注入的方法分析
2019/06/21 Python
2014年高考决心书
2014/03/11 职场文书
公司离职证明标准样本
2014/10/05 职场文书
团队会宣传标语
2014/10/09 职场文书
教师党员批评与自我批评
2014/10/15 职场文书
sql注入教程之类型以及提交注入
2021/08/02 MySQL