利用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 18 Python
Python的设计模式编程入门指南
Apr 02 Python
python实现对一个完整url进行分割的方法
Apr 29 Python
python pandas中DataFrame类型数据操作函数的方法
Apr 08 Python
python3转换code128条形码的方法
Apr 17 Python
OpenCV-Python 摄像头实时检测人脸代码实例
Apr 30 Python
Django 多环境配置详解
May 14 Python
这可能是最好玩的python GUI入门实例(推荐)
Jul 19 Python
python3.6 tkinter实现屏保小程序
Jul 30 Python
Python文件路径名的操作方法
Oct 30 Python
python如何利用Mitmproxy抓包
Oct 10 Python
Django admin组件的使用
Oct 24 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
来自phpguru得Php Cache类源码
2010/04/15 PHP
防止本地用户用fsockopen DDOS攻击对策
2011/11/02 PHP
PHP中使用CURL获取页面title例子
2015/01/07 PHP
yii2中添加验证码的实现方法
2016/01/09 PHP
php将字符串转换为数组实例讲解
2020/05/05 PHP
PHP扩展安装方法步骤解析
2020/11/24 PHP
Google Suggest ;-) 基于js的动态下拉菜单
2006/10/11 Javascript
基于JQuery的6个Tab选项卡插件
2010/09/03 Javascript
javascript获取ckeditor编辑器的值(实现代码)
2013/11/18 Javascript
js向上无缝滚动,网站公告效果 具体代码
2013/11/18 Javascript
AngularJS实现给动态生成的元素绑定事件的方法
2016/12/14 Javascript
Vue 2.x教程之基础API
2017/03/06 Javascript
Require.js的基本用法详解
2017/07/03 Javascript
jQuery扩展_动力节点Java学院整理
2017/07/05 jQuery
前端主流框架vue学习笔记第二篇
2017/07/26 Javascript
学习node.js 断言的使用详解
2019/03/18 Javascript
vue实现前台列表数据过滤搜索、分页效果
2019/05/28 Javascript
快速解决layui弹窗按enter键不停弹窗的问题
2019/09/18 Javascript
浅谈JavaScript中等号、双等号、 三等号的区别
2020/08/06 Javascript
vue keep-alive的简单总结
2021/01/25 Vue.js
[01:07]2015国际邀请赛 中国区预选赛精彩回顾
2015/06/15 DOTA
[16:19]教你分分钟做大人——风暴之灵
2015/03/11 DOTA
跟老齐学Python之Python文档
2014/10/10 Python
一文总结学习Python的14张思维导图
2017/10/17 Python
Python3实现计算两个数组的交集算法示例
2019/04/03 Python
Windows系统下pycharm中的pip换源
2020/02/23 Python
Python 绘制可视化折线图
2020/07/22 Python
95%的面试官都会问到的50道Java线程题,附答案
2012/08/03 面试题
财务会计专业推荐信
2013/11/30 职场文书
作弊检讨书1000字
2014/02/01 职场文书
2014年控辍保学工作总结
2014/12/08 职场文书
背起爸爸上学观后感
2015/06/08 职场文书
女性健康知识讲座主持词
2015/07/04 职场文书
Django实现聊天机器人
2021/05/31 Python
JavaScript利用html5新方法操作元素类名详解
2021/11/27 Javascript
vue选项卡切换的实现案例
2022/04/11 Vue.js