Jupyter:单击散点图中的点时触发新图

时间:2019-11-17 09:40:44

标签: jupyter-notebook plotly seaborn

我正在尝试在Jupyter中构建交互式散点图,在该点上单击将触发基于单击的点绘制另一个(非交互式)Seaborn散点图。我设法使用plotly(这是一个玩具示例)

import plotly.graph_objects as go
import matplotlib.pyplot as plt
import seaborn as sns; sns.set()
import numpy as np
%matplotlib inline

x = np.arange(10)
f = go.FigureWidget([go.Scatter(x=x, y=2*x)])

scatter = f.data[0]
f.layout.hovermode = 'closest'

# create our callback function
def click_callback(trace, points, selector):
    sns.lineplot(np.arange(10), [points.ys[0]]*10)
    plt.show()

scatter.on_click(click_callback)

f

问题在于,每一个新的Seaborn地块都将附加到该单元格上,而我希望它可以替换前一个。如果我尝试使用IPython.display.clear_output(),原始的散点图也会被擦除。如何在绘制新图之前仅清除Seaborn图?

此外,如果对于一般任务有一个易于实现的高级解决方案(单击散点图中的点时触发新图),我想知道

谢谢!

0 个答案:

没有答案