python中的交互式图

问题描述

由于在Python中我需要一个功能强大的库,因此我只需要从R转到Python。

但是,这几天一直是python的噩梦。在我看来,R Studio中的库主题,查看功能,一堆IDE和可视化要比Python容易得多和直观得多。

现在,我正在处理一个新问题。我想使用Python中的Kepler库使用交互式Web基本地图。但是,我不知道为什么我不能在Jupyter和Spyder中对其进行可视化。 本质上是以下代码

import keplergl
from keplergl import KeplerGl
map_1 = KeplerGl()
map_1

import plotly.graph_objects as go
fig = go.figure()
fig.add_trace(go.Scatter(y=[2,1,4,3]))
fig.add_trace(go.Bar(y=[1,3,2]))
fig.update_layout(title = 'Hello figure')
fig.show()

有人知道为什么吗?我的图书馆也有同样的问题

谢谢。

Example

解决方法

原始的python kepler.gl库通过使用小部件功能而仅用于Jupyter中的ipython控制台。因此,您将无法直接在Spyder中使用。直接的解决方案是在Spyder中使用一个外部库,允许您这样做。例如,检查keplergl-cli 0.3.1,该功能具有使用类似代码在浏览器中可视化整个开普勒地图的功能。以下内容直接从其文档中复制:

from keplergl_cli import Visualize
vis = Visualize(api_key=MAPBOX_API_KEY)
vis.add_data(data=data,names='name of layer')
vis.add_data(data=data2,names='name of layer')
html_path = vis.render(open_browser=True,read_only=False)

您还可以使用here中该库的稍作修改的版本,这还将为您提供将开普勒地图保存到所需位置的功能,并提供关闭渲染的功能。