回调函数在python代码中离线



我阅读了关于python API的点击事件。javascript中有一些内容https://plot.ly/javascript/lasso-selection/但我想用纯python来做(如果可能的话)。

我会尽量说清楚。

我正在QGIS中开发一个插件(http://qgis.org/en/site/)它将获取地理数据的属性,并将其用作一些绘图图的输入。

我需要的是知道是否可以用套索选择按钮选择点(或线或其他什么)的"返回信号"。

我试图在QGIS地图画布和plotly生成的html文件之间创建一个普通的响应。这样用户就可以在绘图上选择点,也可以在地图画布上选择点(反之亦然)。

一个想法是使用套索选择,获得一些信息(例如点唯一ID)并重新注入,以便QGIS将在地图画布上显示选定的点。

是否有机会获得地块选择的一种信号并加以利用?

感谢所有

我也很喜欢这个功能,但恐怕我们必须等待plotly.dash"重新思考",才能在python中实现它。

但是,也许可以将这个烧瓶聊天应用程序与你问题中的情节示例混合在一起。

我们将用websockets flask app:的socket.emit替换plotly套索示例回调中的console.log调用

graphDiv.on('plotly_selected', function(eventData) {
   console.log(eventData.points)
   socket.emit(eventData.points)
});

我们的flask服务器会为聊天应用程序提供一个带有socket.io javascript的html模板,但会将离线绘图中的<DIV>添加到html中,如下所示:

fig = graph_objs.Figure(data=[trace1, trace2])
html_div, divid, width, height = plotly.offline.offline._plot_html(
        fig, config=config, validate=False, default_width="100%", default_height=525, global_requirejs=False)
    html = '<HTML>n<head>n  <script src="https://cdn.plot.ly/plotly-latest.min.js"></script>n</head>n<body>' + html_div + '</body></HTML>'

我在上面附加的字符串中省略了flask html/js,但你已经明白了。如果我有工作,我会更新。

相关内容

最新更新