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中函数的多种格式和使用实例及小技巧
Apr 13 Python
利用Tkinter(python3.6)实现一个简单计算器
Dec 21 Python
Pandas实现数据类型转换的一些小技巧汇总
May 07 Python
在Python中实现替换字符串中的子串的示例
Oct 31 Python
python 多线程将大文件分开下载后在合并的实例
Nov 09 Python
python反编译学习之字节码详解
May 19 Python
python itchat给指定联系人发消息的方法
Jun 11 Python
使用python代码进行身份证号校验的实现示例
Nov 21 Python
python使用rsa非对称加密过程解析
Dec 28 Python
10行Python代码实现Web自动化管控的示例代码
Aug 14 Python
python解析json数据
Apr 29 Python
python数字图像处理实现图像的形变与缩放
Jun 28 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
虫族 Zerg 历史背景
2020/03/14 星际争霸
深入解析php之sphinx
2013/05/15 PHP
php set_time_limit()函数的使用详解
2013/06/05 PHP
解析PHP正则提取或替换img标记属性
2013/06/26 PHP
PHP 导出Excel示例分享
2014/08/18 PHP
Javascript中eval函数的使用方法与示例
2007/04/09 Javascript
如何确保JavaScript的执行顺序 之实战篇
2011/03/03 Javascript
在jquery中处理带有命名空间的XML数据
2011/06/13 Javascript
js单例模式详解实例
2013/11/21 Javascript
jquery淡化版banner异步图片文字效果切换图片特效
2014/04/08 Javascript
js使用for循环及if语句判断多个一样的name
2014/09/09 Javascript
javascipt:filter过滤介绍及使用
2014/09/10 Javascript
js控制文本框输入的字符类型方法汇总
2015/06/19 Javascript
基于javascript实现漂亮的页面过渡动画效果附源码下载
2015/10/26 Javascript
详解javascript事件绑定使用方法
2016/10/20 Javascript
JavaScript 最佳实践:帮你提升代码质量
2016/12/03 Javascript
Django中使用jquery的ajax进行数据交互的实例代码
2017/10/15 jQuery
在vue.js中使用JSZip实现在前端解压文件的方法
2018/09/05 Javascript
浅谈layui 数据表格前后台传值的问题
2019/09/12 Javascript
JavaScript实现左右滚动电影画布
2020/02/06 Javascript
简单实现python爬虫功能
2015/12/31 Python
实例讲解Python编程中@property装饰器的用法
2016/06/20 Python
python连接mysql实例分享
2016/10/09 Python
Python使用Selenium模块实现模拟浏览器抓取淘宝商品美食信息功能示例
2018/07/18 Python
windows下搭建python scrapy爬虫框架步骤
2018/12/23 Python
NumPy统计函数的实现方法
2020/01/21 Python
基于Python数据分析之pandas统计分析
2020/03/03 Python
html5 canvas实现圆形时钟代码分享
2013/12/25 HTML / CSS
AmazeUI 输入框组的示例代码
2020/08/14 HTML / CSS
华硕新加坡官方网上商店:ASUS Singapore
2020/07/09 全球购物
聘用意向书范本
2014/04/01 职场文书
2014年教师政治学习材料
2014/06/02 职场文书
党性心得体会
2014/09/03 职场文书
Win10/Win11 任务栏替换成经典样式
2022/04/19 数码科技
大型强子对撞机再次重启探索“第五种自然力”
2022/04/29 数码科技
Win11如何查看显卡型号 Win11查看显卡型号的方法
2022/08/14 数码科技