博客
关于我
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/

    你可能感兴趣的文章
    python前端之css
    查看>>
    Python制作进度条,原来有这么多方法
    查看>>
    Python制作简单的学生成绩管理系统
    查看>>
    python制作甘特图的基本知识(附Demo)
    查看>>
    python制作一个简单的服务器,【Python】 做一个简单的 http 服务器
    查看>>
    Python到底能做什么?它的优点在哪?
    查看>>
    python利用pytorch库导出图像分割算子
    查看>>
    python利用pyshark监听网卡来抓包其中pyshark中摸索的一些可用参数
    查看>>
    python利用excel分析过杀漏失
    查看>>
    python判断汉字数目
    查看>>
    python判断文件是空的,如果是空的,就删除
    查看>>
    python判断密码是否正确_python密码判断是否符合要求的方法
    查看>>
    python判断字符串包含中文_Python 判断字符串是否包含中文
    查看>>
    python删除第一行_Python 乱码指北:一行删掉根目录
    查看>>
    Python删除列表元素的三种方法
    查看>>
    python初步学习-python数据类型-集合(set)
    查看>>
    python列表生成字典_Python中将字典转换为列表的方法
    查看>>
    python列表对应元素合并为列表及判断一个列表是几维
    查看>>
    python列表去重复后按照顺序_从包含不可共元素的Python列表中删除重复元素,同时保留顺序?...
    查看>>
    python列表前几个_python之列表
    查看>>