如何让Kepler.gl导出的绘图配置在Jupyter Notebook中生效
Kepler.gl Jupyter配置不生效的解决方法
问题根源
你从官网复制的conf配置里,datasets字段对应的数据集ID是官网上传数据时生成的随机ID,和Jupyter Notebook中add_data生成的数据集ID不匹配,导致Kepler.gl无法将配置关联到你添加的my.geojson数据,所以只会显示基础样式。
具体解决步骤
1. 获取Jupyter中数据集的实际ID
添加数据后,通过打印map1.data获取数据集ID:
from keplergl import KeplerGl import geopandas as gpd map1 = KeplerGl() map1.add_data(data=gpd.read_file('my.geojson'), name='name1') # 打印数据集信息,提取ID print(map1.data['name1']['info']['id'])
运行后会得到类似abc123-def456-ghi789的ID字符串。
2. 修改复制的conf配置中的ID
找到你从官网复制的conf里的datasets节点,把其中的id值替换成上面拿到的ID,同时确保label和add_data的name(即name1)一致:
# 示例conf结构,替换id字段 conf = { "version": "v1", "config": { "datasets": { "abc123-def456-ghi789": { # 这里替换成你拿到的ID "label": "name1", # 确保和add_data的name一致 "color": "#5A1846", # 其他配置项... } }, # 其他可视化配置... } }
3. 重新应用配置
修改完ID后,再将配置赋值给地图:
map1.config = conf
此时运行map1就能看到自定义的可视化样式了。
替代方案:创建地图时直接绑定配置(更高效)
如果不想手动替换ID,可以先创建空地图,导入配置后再添加数据,Kepler.gl会自动将配置关联到第一个添加的数据集:
from keplergl import KeplerGl import geopandas as gpd # 先加载配置 conf = {. . .} # 你的自定义配置,已修正布尔值和label map1 = KeplerGl(config=conf) # 再添加数据,配置会自动应用 map1.add_data(data=gpd.read_file('my.geojson'), name='name1')
相关文档翻译(WKT格式支持)
kepler.gl的Jupyter插件支持加载WKT(熟知文本)格式的地理数据。你可以直接将包含WKT字段的Pandas DataFrame传入
add_data方法,kepler.gl会自动识别并解析该字段为地理图形。
示例代码:from keplergl import KeplerGl import pandas as pd df = pd.read_csv('data.csv') # 假设DataFrame包含名为'wkt'的字段,存储WKT格式数据 map_1 = KeplerGl() map_1.add_data(data=df, name='my_data') map_1
内容的提问来源于stack exchange,提问作者Mirk
相关产品推荐
相关产品推荐

