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网络编程学习笔记(五):socket的一些补充
Jun 09 Python
详解Python中的循环语句的用法
Apr 09 Python
用Python创建声明性迷你语言的教程
Apr 13 Python
python连接mysql实例分享
Oct 09 Python
深入探究Django中的Session与Cookie
Jul 30 Python
火车票抢票python代码公开揭秘!
Mar 08 Python
python使用xlsxwriter实现有向无环图到Excel的转换
Dec 12 Python
PYQT5实现控制台显示功能的方法
Jun 25 Python
python3应用windows api对后台程序窗口及桌面截图并保存的方法
Aug 27 Python
基于python的列表list和集合set操作
Nov 24 Python
tensorflow查看ckpt各节点名称实例
Jan 21 Python
wxPython修改文本框颜色过程解析
Feb 14 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面向对象编程快速入门
2006/10/09 PHP
phpMyAdmin安装并配置允许空密码登录
2015/07/04 PHP
Gambit vs CL BO3 第一场 2.13
2021/03/10 DOTA
javascript 复杂的嵌套环境中输出单引号和双引号
2009/05/26 Javascript
JS中的异常处理方法分享
2013/12/22 Javascript
DOM基础教程之使用DOM控制表单
2015/01/20 Javascript
JS网页在线获取鼠标坐标值的方法
2015/02/28 Javascript
js带点自动图片轮播幻灯片特效代码分享
2015/09/07 Javascript
JavaScript的模块化开发框架Sea.js上手指南
2016/05/12 Javascript
跨域请求的完美解决方法(JSONP, CORS)
2016/06/12 Javascript
关于数据与后端进行交流匹配(点亮星星)
2016/08/03 Javascript
微信JS接口大全
2016/08/25 Javascript
JS 组件系列之BootstrapTable的treegrid功能
2017/06/16 Javascript
Node.js上传文件功能之服务端如何获取文件上传进度
2018/02/05 Javascript
你不可不知的Vue.js列表渲染详解
2019/10/01 Javascript
在VUE中实现文件下载并判断状态的方法
2019/11/08 Javascript
Vue 实现一个简单的鼠标拖拽滚动效果插件
2020/12/10 Vue.js
Vue项目打包部署到apache服务器的方法步骤
2021/02/01 Vue.js
Python实现对比不同字体中的同一字符的显示效果
2015/04/23 Python
Tensorflow简单验证码识别应用
2017/05/25 Python
关于python之字典的嵌套,递归调用方法
2019/01/21 Python
Pyqt5实现英文学习词典
2019/06/24 Python
Python 二叉树的层序建立与三种遍历实现详解
2019/07/29 Python
Python3常见函数range()用法详解
2019/12/30 Python
python为Django项目上的每个应用程序创建不同的自定义404页面(最佳答案)
2020/03/09 Python
加拿大鞋子连锁店:Town Shoes
2016/09/26 全球购物
ECCO爱步官方旗舰店:丹麦鞋履品牌
2018/01/02 全球购物
请问软件开发中的设计模式你会使用哪些
2015/05/13 面试题
服装设计专业自荐信
2014/06/17 职场文书
政府班子四风问题整改措施思想汇报
2014/10/08 职场文书
小学安全工作总结2015
2015/05/18 职场文书
经营场所证明范本
2015/06/19 职场文书
单位领导婚礼致辞
2015/07/28 职场文书
关于感恩的素材句子(38句)
2019/11/11 职场文书
MySQL kill不掉线程的原因
2021/05/07 MySQL
HTML5 新增内容和 API详解
2021/11/17 HTML / CSS