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脚本来获取Cisco设备信息的示例
May 04 Python
numpy matrix和array的乘和加实例
Jun 28 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
Nov 29 Python
Python 多维List创建的问题小结
Jan 18 Python
更新修改后的Python模块方法
Mar 03 Python
python3.4+pycharm 环境安装及使用方法
Jun 13 Python
Python实现制度转换(货币,温度,长度)
Jul 14 Python
django+echart数据动态显示的例子
Aug 12 Python
Python列表的切片实例讲解
Aug 20 Python
浅谈keras中自定义二分类任务评价指标metrics的方法以及代码
Jun 11 Python
Python中os模块的简单使用及重命名操作
Apr 17 Python
Python自动化爬取天眼查数据的实现
Jun 15 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中序列化与反序列化详解
2017/02/13 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
2019/02/28 PHP
php中文语义分析实现方法示例
2019/09/28 PHP
javascript import css实例代码
2008/07/18 Javascript
读取input:file的路径并显示本地图片的方法
2013/09/23 Javascript
JS与C#编码解码
2013/12/03 Javascript
jQuery制作简洁的图片轮播效果
2015/04/03 Javascript
javascript实现二级级联菜单的简单制作
2015/11/19 Javascript
Jquery和angularjs获取check框选中的值的方法汇总
2016/01/17 Javascript
jQuery动态改变多行文本框高度的方法
2016/09/07 Javascript
Javascript中函数名.length属性用法分析(对比arguments.length)
2016/09/16 Javascript
angular6.0使用教程之父组件通过url传递id给子组件的方法
2018/06/30 Javascript
解决angularJS中input标签的ng-change事件无效问题
2018/09/13 Javascript
vue项目引入字体.ttf的方法
2018/09/28 Javascript
详解解决Vue相同路由参数不同不会刷新的问题
2018/10/12 Javascript
详解Vue后台管理系统开发日常总结(组件PageHeader)
2019/11/01 Javascript
JS实现简单省市二级联动
2019/11/27 Javascript
基于elementUI竖向表格、和并列的案例
2020/10/26 Javascript
Vue用mixin合并重复代码的实现
2020/11/27 Vue.js
在Django中限制已登录用户的访问的方法
2015/07/23 Python
Python使用正则表达式过滤或替换HTML标签的方法详解
2017/09/25 Python
谈谈python中GUI的选择
2018/03/01 Python
关于python列表增加元素的三种操作方法
2018/08/22 Python
pycharm远程开发项目的实现步骤
2019/01/20 Python
解决Django中多条件查询的问题
2019/07/18 Python
Html5中localStorage存储JSON数据并读取JSON数据的实现方法
2017/02/13 HTML / CSS
C#面试常见问题
2013/02/25 面试题
开学季活动策划方案
2014/02/28 职场文书
2014年新生军训方案
2014/05/01 职场文书
年终工作总结范文2014
2014/11/27 职场文书
面试通知短信
2015/04/20 职场文书
唐山大地震观后感
2015/06/05 职场文书
Flask response响应的具体使用
2021/07/15 Python