Python可视化工具如何实现动态图表


Posted in Python onOctober 23, 2020

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理

以下文章来源于菜J学Python ,作者J哥

前言

这次呢,我想讲讲地图可视化的内容,以前我也写过用Python的内置库绘制地图,但总感觉不够美观。如何才能在短时间内制作漂亮的可视化地图呢,我觉得Python+可视化工具是不错的选择。

以下动态可视化地图就是J哥亲手绘制,展现了一段时间内广州市企事业单位在网上商城采购商品的分布及随时间的变化。

Python可视化工具如何实现动态图表

接下来,将手把手教你如何绘制这个动态图,您可在公众号后台回复「kepler」获取数据集进行测试。

数据准备

第一步,打开并预览一下数据集,共766条采购记录,包含采购时间、采购单位和采购金额3个字段。

1df=pd.read_excel('cc.xls',index=False)2df.head()

Python可视化工具如何实现动态图表

第二步,根据采购单位字段获取经纬度,批量获取经纬度的方法很多,详情可参考「用Python评测三种批量查询经纬度的方法,你pick哪一种?」。

def gaode(addr):
     para = {
       'key':'你的',
       'address':addr
     }
     url = 'https://restapi.amap.com/v3/geocode/geo?'
    req = requests.get(url,para)
     req = req.json()
     print('-' * 30)
    if req['status']=='1':
      if len(req['geocodes']) > 0:
        m = req['geocodes'][0]['location']
        print(m)
      else:
        print("None")
        m = ""
    else:
      print("None")
    return m
gaode(addr="广州")

应用以上函数并预览数据

df['lat_lon'] = df['buyer'].apply(gaode)
df.head()

Python可视化工具如何实现动态图表

第三步,对经纬度字段分列并存储为csv格式。

df["lat"] = df["lat_lon"].str.split(',',expand=True)[1]
df["lon"] = df["lat_lon"].str.split(',',expand=True)[0]
df = df.drop('lat_lon',axis=1)
df.to_csv('cc.csv',index=False)

简单三步数据准备完毕,数据预览如下:

Python可视化工具如何实现动态图表

数据可视化

将以上数据可视化到地图中的方法也有很多,比如Ecahrts、高德地图可视化平台、地图无忧等,本次主要介绍kepler.gl。

kepler.gl是由Uber开发的进行空间数据可视化的开源工具,是Uber内部进行空间数据可视化的默认工具,通过其面向Python开放的接口包keplergl,我们可以在 jupyter notebook 中通过书写Python代码的方式传入多种格式的数据,在其嵌入notebook的交互窗口中使用其内建的多种丰富的空间数据可视化功能。可以让你不需要任何编程基础,即可实现数据地图的可视化。Kepler.gl 支持的数据格式:CSV、GeoJson 和Json。

一、Jupyter中可视化

1.本地安装

pipinstallkeplergl

注:Windows用户建议conda安装,否则很可能报错。

2.加载地图和数据

Python可视化工具如何实现动态图表

二、在线网站中可视化(推荐)

当然,你也可以直接在kepler官网中上传数据操作,但官网速度较慢,建议用如下网站操作:

http://map.guihuayun.com/ #规划云网站搭的一个镜像

打开网站后,首先将cc.csv数据集添加进来。

Python可视化工具如何实现动态图表

添加好数据后,可以根据自己的喜好进行图标颜色、大小、地图样式等参数设置。

1.图标设置

Python可视化工具如何实现动态图表

2.地图样式更改

Python可视化工具如何实现动态图表

3.添加城市轮廓

城市轮廓数据可以在DATAV.GeoAtlas网站进行获取。

Python可视化工具如何实现动态图表

4.上传轮廓数据

Python可视化工具如何实现动态图表

5.添加时间轴

Python可视化工具如何实现动态图表

OK,大功告成!

总结

当然,我们还可以利用同样的数据集制作成热力图、3D地图等。关键是,如此便捷实用又美观的地图可视化工具竟然免费!感觉它比目前市面上很多付费工具还要给力。

Python可视化工具如何实现动态图表

Python可视化工具如何实现动态图表 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍
Jun 10 Python
介绍Python中的fabs()方法的使用
May 14 Python
Python基于Tkinter实现的记事本实例
Jun 17 Python
Python win32com 操作Exce的l简单方法(必看)
May 25 Python
python中使用print输出中文的方法
Jul 16 Python
Python3 实现文件批量重命名示例代码
Jun 03 Python
解决python彩色螺旋线绘制引发的问题
Nov 23 Python
python解释器pycharm安装及环境变量配置教程图文详解
Feb 26 Python
Python批量处理csv并保存过程解析
May 16 Python
Python 调用 ES、Solr、Phoenix的示例代码
Nov 23 Python
Python的这些库,你知道多少?
Jun 09 Python
Python利用FlashText算法实现替换字符串
Mar 31 Python
python 匿名函数与三元运算学习笔记
Oct 23 #Python
Numpy中np.random.rand()和np.random.randn() 用法和区别详解
Oct 23 #Python
Python+OpenCV图像处理——实现直线检测
Oct 23 #Python
使用Python Tkinter实现剪刀石头布小游戏功能
Oct 23 #Python
Python 列表推导式需要注意的地方
Oct 23 #Python
python中的split、rsplit、splitlines用法说明
Oct 23 #Python
Python学习工具jupyter notebook安装及用法解析
Oct 23 #Python
You might like
php中检查文件或目录是否存在的代码小结
2012/10/22 PHP
微信接口生成带参数的二维码
2017/07/31 PHP
PHP面向对象程序设计之构造方法和析构方法详解
2019/06/13 PHP
phpmyadmin在宝塔面板里进不去的解决方案
2020/07/06 PHP
RR vs IO BO3 第一场2.13
2021/03/10 DOTA
基于JQuery的日期联动实现代码
2011/02/24 Javascript
jQuery 源码分析笔记(4) Ready函数
2011/06/02 Javascript
JavaScript事件委托的技术原理探讨示例
2014/04/17 Javascript
在HTML代码中使用JavaScript代码的例子
2014/10/16 Javascript
jquery实现浮动在网页右下角的彩票开奖公告窗口代码
2015/09/04 Javascript
浅谈js内置对象Math的属性和方法(推荐)
2016/09/19 Javascript
Vue开发过程中遇到的疑惑知识点总结
2017/01/20 Javascript
jquery实现的table排序功能示例
2017/03/10 Javascript
Node.js中多进程模块Cluster的介绍与使用
2017/05/27 Javascript
详解angular路由高亮之RouterLinkActive
2018/04/28 Javascript
vue-swiper的使用教程
2018/08/30 Javascript
angular实现input输入监听的示例
2018/08/31 Javascript
vue里input根据value改变背景色的实例
2018/09/29 Javascript
jquery登录的异步验证操作示例
2019/05/09 jQuery
小程序和web画三角形实现解析
2019/09/02 Javascript
在Vue中使用Echarts实例图的方法实例
2020/10/10 Javascript
Vue 事件的$event参数=事件的值案例
2021/01/29 Vue.js
[01:26]神话结束了,却也刚刚开始——DOTA2新英雄玛尔斯驾临战场
2019/03/10 DOTA
分享一个常用的Python模拟登陆类
2015/03/29 Python
python基于FTP实现文件传输相关功能代码实例
2019/09/28 Python
分享8点超级有用的Python编程建议(推荐)
2019/10/13 Python
python定时任务 sched模块用法实例
2019/11/04 Python
python opencv根据颜色进行目标检测的方法示例
2020/01/15 Python
Python爬虫爬取微信朋友圈
2020/08/06 Python
python3处理word文档实例分析
2020/12/01 Python
css3 利用transform打造走动的2D时钟
2020/10/20 HTML / CSS
纯CSS3实现的井字棋游戏
2020/11/25 HTML / CSS
松本清官方海外旗舰店:日本最大的药妆连锁店
2017/11/21 全球购物
拾金不昧的表扬信
2014/01/16 职场文书
2014年创卫工作总结
2014/11/24 职场文书
2014年财政局工作总结
2014/12/09 职场文书