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

 更新时间:2020年10月23日 14:51:58   作者:松鼠爱吃饼干  
这篇文章主要介绍了Python可视化工具如何实现动态图表,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

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

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

前言

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

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

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

数据准备

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

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

第二步,根据采购单位字段获取经纬度,批量获取经纬度的方法很多,详情可参考「用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()

第三步,对经纬度字段分列并存储为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)

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

数据可视化

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

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

一、Jupyter中可视化

1.本地安装

pipinstallkeplergl

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

2.加载地图和数据

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

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

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

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

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

1.图标设置

2.地图样式更改

3.添加城市轮廓

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

4.上传轮廓数据

5.添加时间轴

OK,大功告成!

总结

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

 

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

相关文章

  • 简单了解pytest测试框架setup和tearDown

    简单了解pytest测试框架setup和tearDown

    这篇文章主要介绍了简单了解pytest测试框架setup和tearDown,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • pandas groupby + unstack的使用说明

    pandas groupby + unstack的使用说明

    这篇文章主要介绍了pandas groupby + unstack的使用说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • 从安装到应用全面掌握Python与OpenCV的配置与高级功能(最新推荐)

    从安装到应用全面掌握Python与OpenCV的配置与高级功能(最新推荐)

    OpenCV的强大功能不仅限于基本的图像处理,还可以扩展到实时视频分析、复杂的图像拼接和特征匹配等应用场景,这篇文章主要介绍了从安装到应用全面掌握Python与OpenCV的配置与高级功能,需要的朋友可以参考下
    2024-08-08
  • python编写WAF与Sqlmap结合实现指纹探测

    python编写WAF与Sqlmap结合实现指纹探测

    这篇文章主要为大家介绍了python编写WAF指纹探测并与Sqlmap结合的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 如何学习Python time模块

    如何学习Python time模块

    在本篇文章里小编给大家分享的是关于Python time模块知识点及用法,需要的朋友们可以学习下。
    2020-06-06
  • Python random模块的运用详解

    Python random模块的运用详解

    这篇文章主要为大家介绍了Python random模块的运用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • 35个Python编程小技巧

    35个Python编程小技巧

    从我开始学习python的时候,我就开始自己总结一个python小技巧的集合。后来当我什么时候在Stack Overflow或者在某个开源软件里看到一段很酷代码的时候,我就很惊讶:原来还能这么做!,当时我会努力的自己尝试一下这段代码,直到我懂了它的整体思路以后,我就把这段代码加到我的集合里
    2014-04-04
  • 合并百度影音的离线数据( with python 2.3)

    合并百度影音的离线数据( with python 2.3)

    这篇文章主要介绍了合并百度影音的离线数据( with python 2.3)的相关资料
    2015-08-08
  • python中复数的共轭复数知识点总结

    python中复数的共轭复数知识点总结

    在本篇内容里小编给大家整理的是关于python中复数的共轭复数知识点总结,有需要的朋友们可以学习下。
    2020-12-12
  • Mac中安装anaconda并配置虚拟环境的详细过程

    Mac中安装anaconda并配置虚拟环境的详细过程

    这篇文章主要给大家介绍了关于Mac中安装anaconda并配置虚拟环境的详细过程,anaconda是包管理器和环境管理器,使用它可以方便地创作,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-10-10

最新评论