博客
关于我
Python+可视化工具,如何才能做出优美的动态图表?
阅读量:630 次
发布时间:2019-03-14

本文共 2081 字,大约阅读时间需要 6 分钟。

用Python和Kepler.gl制作动态地图可视化

在本文中,我们将共同探讨如何利用Python和开源工具Kepler.gl轻松创建动态地图图表。作为经验丰富的地理可视化开发者,我将分享从数据准备到地图绘制的完整流程,并介绍如何优化地图视觉效果。以下内容基于真实的项目实践,所有代码均为实际操作结果所验证。

数据准备

首先,我们需要准备包含采购时间、采购单位以及采购金额的数据集。以下步骤将引导您完成数据处理过程:

  • 加载数据

    使用 pandas 导入数据集 cc.xls

    df = pd.read_excel('cc.xls', index=False)df.head()
  • 获取经纬度

    利用 geocode API 批量获取采购单位的经纬度信息。以下函数示范了如何调用高德地图的 REST API:

    def gaode(addr):    para = {        'key': '您的API秘钥',        'address': addr    }    url = 'https://restapi.amap.com/v3/geocode/geo?'    req = requests.get(url, para)    req = req.json()    if req['status'] == '1':        if len(req['geocodes']) > 0:            location = req['geocodes'][0]['location']            print(location)            return location    return ""

    应用函数获取经纬度字段:

    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)
  • 数据可视化

    Kepler.gl 是一个功能强大的开源地图可视化工具,支持多种数据格式(如 CSV、GeoJSON 等)。以下是如何在 Jupyter notebook 中使用该工具进行数据可视化的详细步骤:

  • 安装依赖

    确保已安装最新版本的 kepler-gl 工具。建议使用 conda 进行安装:

    conda install kepler-gl
  • 加载地图和数据

    cc.csv 数据导入 Kepler.gl 中。数据支持多种图标设置,如以下示范:

    from kepler.gl import repertoirerep = repertoire.get_geo_dataasset('cc.csv')('经纬度数据')
  • 自定义地图样式

    根据需要调整图标设置、地图样式和坐标系:

    • 图标设置
      选择星号图标以突出分布热点区域:
      rep.icon_color = 'blue'rep.icon_size = 40
    • 地图样式
      可以设置地图背景样式,以增强视觉效果:
      rep.map_style = 'main'
  • 多地图层叠加

    如果需要,可以添加其他数据层如城市轮廓或交通网络:

    rep.add_layer(    layer_config={        'layer_type': 'city'})
  • 渲染结果

    使用 interactivemap 人工智能渲染工具优化地图展示效果:

    rep = interactivemap.from_repertoire(rep)
  • 在线可视化推荐网站

    如果您更喜欢在线操作,我们推荐以下镜像网站进行数据交互:

    http://map.guihuayun.com/

    操作步骤如下:

  • 上传数据

    在 web 界面中提取 cc.csv 文件并添加到地图中。

  • 设置参数

    • 图标设置:调整图标颜色和大小
    • 地图样式:选择适合主题的地图风格
    • 轮廓数据:从 DATAV.GeoAtlas 网站导入城市轮廓文件
  • 添加时间轴

    为了展示数据动态变化,可选添加时间轴功能,并根据需要调整轴的位置和样式。

  • 讨论与总结

    通过以上步骤,您成功将实时数据转化为动态地图图表。感谢您的耐心阅读和实践!如有疑问或建议,请随时联系我们。

    以下是一些有趣的扩展功能,您也可以尝试:

    • 热力图显示
      将区域热度可视化以直观突出分布中心。
    • 3D地图展示
      使用 Three.js 渲染为三维视角,呈现更深刻的地理信息。

    Kepler.gl 提供的便捷性和强大性能,使得创建高质量地图成为可能。无论是制作商业地图还是学术研究,Kepler.gl 都是理想的选择。

    想知道更多地图开发技巧不Artifact结束

    转载地址:http://vlioz.baihongyu.com/

    你可能感兴趣的文章
    mysql 排序id_mysql如何按特定id排序
    查看>>
    Mysql 提示:Communication link failure
    查看>>
    mysql 插入是否成功_PDO mysql:如何知道插入是否成功
    查看>>
    Mysql 数据库InnoDB存储引擎中主要组件的刷新清理条件:脏页、RedoLog重做日志、Insert Buffer或ChangeBuffer、Undo Log
    查看>>
    mysql 数据库备份及ibdata1的瘦身
    查看>>
    MySQL 数据库备份种类以及常用备份工具汇总
    查看>>
    mysql 数据库存储引擎怎么选择?快来看看性能测试吧
    查看>>
    MySQL 数据库操作指南:学习如何使用 Python 进行增删改查操作
    查看>>
    MySQL 数据库的高可用性分析
    查看>>
    MySQL 数据库设计总结
    查看>>
    Mysql 数据库重置ID排序
    查看>>
    Mysql 数据类型一日期
    查看>>
    MySQL 数据类型和属性
    查看>>
    mysql 敲错命令 想取消怎么办?
    查看>>
    Mysql 整形列的字节与存储范围
    查看>>
    mysql 断电数据损坏,无法启动
    查看>>
    MySQL 日期时间类型的选择
    查看>>
    Mysql 时间操作(当天,昨天,7天,30天,半年,全年,季度)
    查看>>
    MySQL 是如何加锁的?
    查看>>
    MySQL 是怎样运行的 - InnoDB数据页结构
    查看>>