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地图等。关键是,如此便捷实用又美观的地图可视化工具竟然免费!感觉它比目前市面上很多付费工具还要给力。

 

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

相关文章

  • Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)

    Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)

    这篇文章主要介绍了Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Python使用urllib模块的urlopen超时问题解决方法

    Python使用urllib模块的urlopen超时问题解决方法

    这篇文章主要介绍了Python使用urllib模块的urlopen超时问题解决方法,本文使用socket模块中的setdefaulttimeout函数解决了超时问题,需要的朋友可以参考下
    2014-11-11
  • python程序调用远程服务的步骤详解

    python程序调用远程服务的步骤详解

    这篇文章主要介绍了python程序调用远程服务的步骤详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-03-03
  • python实现图像增强算法

    python实现图像增强算法

    这篇文章主要为大家详细介绍了python实现图像增强算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • python结合多线程爬取英雄联盟皮肤(原理分析)

    python结合多线程爬取英雄联盟皮肤(原理分析)

    多线程是为了同步完成多项任务,不是为了提高运行效率,而是为了提高资源使用效率来提高系统的效率。这篇文章主要介绍了python爬取英雄联盟皮肤结合多线程的方法,需要的朋友可以参考下
    2021-05-05
  • 关于python中remove的一些坑小结

    关于python中remove的一些坑小结

    这篇文章主要给大家介绍了关于python中remove的一些坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 解决python subprocess参数shell=True踩到的坑

    解决python subprocess参数shell=True踩到的坑

    这篇文章主要介绍了解决python subprocess参数shell=True踩到的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • python 代码实现k-means聚类分析的思路(不使用现成聚类库)

    python 代码实现k-means聚类分析的思路(不使用现成聚类库)

    这篇文章主要介绍了python 代码实现k-means聚类分析(不使用现成聚类库),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • python实现猜拳游戏

    python实现猜拳游戏

    这篇文章主要为大家详细介绍了python实现猜拳游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • Python中的shape()详解

    Python中的shape()详解

    这篇文章主要介绍了Python中的shape()详解,在debug深度学习相关代码的时候,很容易出现shape()这样形式的东西,用来告知输出数据的形式,需要的朋友可以参考下
    2023-08-08

最新评论