博客
关于我
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中interactive_timeout和wait_timeout的区别
    查看>>
    mysql中int、bigint、smallint 和 tinyint的区别、char和varchar的区别详细介绍
    查看>>
    mysql中json_extract的使用方法
    查看>>
    mysql中json_extract的使用方法
    查看>>
    mysql中kill掉所有锁表的进程
    查看>>
    mysql中like % %模糊查询
    查看>>
    MySql中mvcc学习记录
    查看>>
    mysql中null和空字符串的区别与问题!
    查看>>
    MySQL中ON DUPLICATE KEY UPDATE的介绍与使用、批量更新、存在即更新不存在则插入
    查看>>
    MYSQL中TINYINT的取值范围
    查看>>
    MySQL中UPDATE语句的神奇技巧,让你操作数据库如虎添翼!
    查看>>
    Mysql中varchar类型数字排序不对踩坑记录
    查看>>
    MySQL中一条SQL语句到底是如何执行的呢?
    查看>>
    MySQL中你必须知道的10件事,1.5万字!
    查看>>
    MySQL中使用IN()查询到底走不走索引?
    查看>>
    Mysql中使用存储过程插入decimal和时间数据递增的模拟数据
    查看>>
    MySql中关于geometry类型的数据_空的时候如何插入处理_需用null_空字符串插入会报错_Cannot get geometry object from dat---MySql工作笔记003
    查看>>
    mysql中出现Incorrect DECIMAL value: '0' for column '' at row -1错误解决方案
    查看>>
    mysql中出现Unit mysql.service could not be found 的解决方法
    查看>>
    mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
    查看>>