我正在使用sns.scatterplot
函数来分析一些数据。如果我可以通过单击并执行功能来选择地上的一个对象,这对我将非常有帮助。 Matplotlib有onpick
事件可以解决问题,但是我找不到Seaborn如何做同样的事情。它在内部使用Matplotlib,因此我认为可以通过某种方式将onpick
处理程序附加到它。
我使用Seaborn而不是基本的Matplotlib图的原因是我需要hue
参数。
这里基本上是我正在使用的代码:
import seaborn as sns
import matplotlib.pyplot as plt
def _onpick(event):
# ... process selected item
print("Picked!")
tips = sns.load_dataset("tips")
ax = sns.scatterplot(x="total_bill", y="tip", data=tips)
# how to assign an 'onpick' callback
plt.show()
答案 0 :(得分:1)
就像在任何其他情况下一样,您定义picker
参数并连接回调函数。
import seaborn as sns
import matplotlib.pyplot as plt
def onpick(event):
# ... process selected item
print("Picked!")
tips = sns.load_dataset("tips")
ax = sns.scatterplot(x="total_bill", y="tip", hue="time", data=tips, picker=4)
ax.figure.canvas.mpl_connect("pick_event", onpick)
plt.show()