剧情点击回调获取热图

时间:2019-12-26 11:05:48

标签: plotly

我想要一个热图,其中单击给定点会触发基于该点位置的事件。 以下方案适用于散点图,但不适用于热图

L = np.array([[1, 2], [3, 4]])
f = go.FigureWidget()
f.add_trace(go.Heatmap(z=L))
f['layout'].update(width=500, height=500, autosize=False)
def click_callback(trace, points, selector):
    print("Click")
f.data[0].on_click(click_callback)
f.show()

我该如何解决?

2 个答案:

答案 0 :(得分:0)

但是您的代码实际上在Jupyter笔记本中运行良好。点击事件按预期出现:

enter image description here

答案 1 :(得分:0)

我在 jupyter 实验室遇到了同样的问题,这就是我的工作方式。

对于某些环境,您可能需要从 Output 导入 VBoxipywidgets。 然后在您的函数上放置一个包装器 (@out.capture())。

示例:

from ipywidgets import Output, VBox
L = np.array([[1, 2], [3, 4]])
f = go.FigureWidget()
f.add_trace(go.Heatmap(z=L))
f['layout'].update(width=500, height=500, autosize=False)

out = Output()
@out.capture(clear_output=True)
def click_callback(trace, points, selector):
    print("Click")

f.data[0].on_click(click_callback)
VBox([f, out])

见: https://community.plotly.com/t/interactive-graph-click-event/19219/3