博客
关于我
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分库分表中间件简书_MySQL分库分表
    查看>>
    MySQL分库分表会带来哪些问题?分库分表问题
    查看>>
    MySQL分组函数
    查看>>
    MySQL分组查询
    查看>>
    Mysql分表后同结构不同名称表之间复制数据以及Update语句只更新日期加减不更改时间
    查看>>
    mySql分页Iimit优化
    查看>>
    MySQL分页查询
    查看>>
    WebDriverException:未知错误:对于旧版本的 Google Chrome,在 Python 中找不到带有 Selenium 的 Chrome 二进制错误
    查看>>
    mysql列转行函数是什么
    查看>>
    mysql创建函数报错_mysql在创建存储函数时报错
    查看>>
    mysql创建数据库和用户 并授权
    查看>>
    mysql创建数据库指定字符集
    查看>>
    MySql创建数据表
    查看>>
    MySQL创建新用户以及ERROR 1396 (HY000)问题解决
    查看>>
    MySQL创建用户与授权
    查看>>
    MySQL创建用户报错:ERROR 1396 (HY000): Operation CREATE USER failed for 'slave'@'%'
    查看>>
    MySQL创建索引时提示“Specified key was too long; max key length is 767 bytes”
    查看>>
    mysql初始密码错误问题
    查看>>
    MySQL删除数据几种情况以及是否释放磁盘空间【转】
    查看>>
    Mysql删除重复数据通用SQL
    查看>>