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 open读写文件实现脚本
Sep 06 Python
python定时检查启动某个exe程序适合检测exe是否挂了
Jan 21 Python
利用 python 对目录下的文件进行过滤删除
Dec 27 Python
Python3结合Dlib实现人脸识别和剪切
Jan 24 Python
查看Django和flask版本的方法
May 14 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
Oct 14 Python
python中的decimal类型转换实例详解
Jun 26 Python
python3 打印输出字典中特定的某个key的方法示例
Jul 06 Python
Python字符串和正则表达式中的反斜杠('\')问题详解
Sep 03 Python
python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例
Mar 06 Python
解决Keras中Embedding层masking与Concatenate层不可调和的问题
Jun 18 Python
python 代码运行时间获取方式详解
Sep 18 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 判断字符串中是否包含html标签
2014/02/17 PHP
叫你如何修改Nginx与PHP的文件上传大小限制
2014/09/10 PHP
浅谈PHP的排列组合(如输入a,b,c 输出他们的全部组合)
2017/03/14 PHP
php多进程模拟并发事务产生的问题小结
2018/12/07 PHP
Prototype 1.5.0_rc1 及 Prototype 1.5.0 Pre0小抄本
2006/09/22 Javascript
浅析jQuery Ajax通用js封装
2016/06/22 Javascript
JavaScript使用forEach()与jQuery使用each遍历数组时return false 的区别
2016/08/26 Javascript
webpack打包node.js后端项目的方法
2018/03/10 Javascript
详解Angular路由之路由守卫
2018/05/10 Javascript
解决循环中setTimeout执行顺序的问题
2018/06/20 Javascript
vue实现拖拽的简单案例 不超出可视区域
2019/07/25 Javascript
基于JQuery实现页面定时弹出广告
2020/05/08 jQuery
[02:45]DOTA2英雄敌法师基础教程
2013/11/25 DOTA
[03:51]吞吞映像 每周精彩击杀top10第二弹
2014/06/25 DOTA
[40:04]Secret vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
在Windows8上的搭建Python和Django环境
2014/07/03 Python
Python面向对象类继承和组合实例分析
2018/05/28 Python
django模板加载静态文件的方法步骤
2019/03/01 Python
Python中的支持向量机SVM的使用(附实例代码)
2019/06/26 Python
Python如何筛选序列中的元素的方法实现
2019/07/15 Python
详解python uiautomator2 watcher的使用方法
2019/09/09 Python
详解Python time库的使用
2019/10/10 Python
python中实现词云图的示例
2020/12/19 Python
实列教程 一款基于jquery和css3的响应式二级导航菜单
2014/11/13 HTML / CSS
HTML5实时语音通话聊天MP3压缩传输3KB每秒
2019/08/28 HTML / CSS
Monnier Freres中文官网:法国领先的奢侈品配饰在线零售商
2017/11/01 全球购物
生物技术专业毕业生求职信范文
2013/12/14 职场文书
大学老师推荐信
2014/02/25 职场文书
国际商务英语专业求职信
2014/07/08 职场文书
公司领导班子民主生活会对照检查材料
2014/10/02 职场文书
践行党的群众路线心得体会
2014/11/05 职场文书
民事诉讼答辩状范文
2015/05/21 职场文书
宿舍管理制度范本
2015/08/07 职场文书
《分数乘法》教学反思
2016/02/24 职场文书
利用Pycharm连接服务器的全过程记录
2021/07/01 Python
修改并编译golang源码的操作步骤
2021/07/25 Golang