机器人论坛
直播中

李鸿洋

9年用户 256经验值
擅长:嵌入式技术 制造/封装
私信 关注
[经验]

你绝没用过的一款高逼格空间可视化工具

`说起 Python 中的可视化,我们一般用的最多的是 Matplotlib,绘制一般的图效果都很好。有时候也会用风格比较好看的 Pyecharts 库,尤其是在展示空间地图上的数据时,在以前的文章中也多次使用了该库:



不过它的效果相比今天要介绍的一款地理空间可视化库可要逊色不少。
这个库就是:kepler.gl,由大名鼎鼎的独角兽公司 Uber 团队开发,现已开源。库直接集成到了 Jupyter Notebook 中,非常方便使用。
先来看看它效果有多酷炫:
2.jpg

3.jpg

4.jpg

是不是还不错?
在 Jupyter Notebook 中使用它也非常简单。
首先,一行命令安装好该库:
  1. $ pip install keplergl
接着加载地图:
  1. # 类可为空,也可以添加多项参数
  2. from keplergl import KeplerGl
  3. map_1 = KeplerGl()
  4. map_1
当类为空时,默认地图是这样的:
5.jpg

接下来就可以在图中到导入数据展示。
数据支持多种常见格式,包括:CSV 文件、Pandas 的 DataFrame、地图文件 GEOJSON 等,非常友好。
每种数据的导入方式如下:
  1. # DataFrame
  2. df = pd.read_csv('hex-data.csv')
  3. map_1.add_data(data=df, name='data_1')

  4. # CSV
  5. with open('csv-data.csv', 'r') as f:
  6.     csvData = f.read()
  7. map_1.add_data(data=csvData, name='data_2')

  8. # GeoJSON as string
  9. with open('sf_zip_geo.json', 'r') as f:
  10.     geojson = f.read()

  11. map_1.add_data(data=geojson, name='geojson')
数据导入进来后,作一些简单的自定义设置,就可以生成逼格满满的空间可视化图:
6.gif

除了在 Jupyter Notebook 展示,还可以导出为可交互式的 HTML 文件,并进一步导出 PNG 图片格式。
上面用的都是美国地图,转变为中国地图或者世界地图也不难。
以后需要展示地理空间可视化图形时,不妨考虑使用该库。


项目 GitHub 库地址:https://github.com/keplergl/kepler.gl
` 1.jpg

更多回帖

发帖
×
20
完善资料,
赚取积分