Python 如何在Seaborn散点图中使项目可点击(点击)?
我正在使用Python 如何在Seaborn散点图中使项目可点击(点击)?,python,matplotlib,seaborn,Python,Matplotlib,Seaborn,我正在使用sns.scatterplot函数来分析一些数据。如果我可以通过单击在绘图上选择一个对象并执行一个函数,这将对我非常有帮助。Matplotlib有一个事件可以完成这个任务,但我找不到如何对Seaborn进行同样的操作。它在内部使用Matplotlib,因此我认为可以以某种方式将onpick处理程序附加到它 我使用Seaborn而不是基本Matplotlib plot的原因是我需要hue参数 下面是我正在使用的基本代码: import seaborn as sns import matp
sns.scatterplot
函数来分析一些数据。如果我可以通过单击在绘图上选择一个对象并执行一个函数,这将对我非常有帮助。Matplotlib有一个事件可以完成这个任务,但我找不到如何对Seaborn进行同样的操作。它在内部使用Matplotlib,因此我认为可以以某种方式将onpick
处理程序附加到它
我使用Seaborn而不是基本Matplotlib plot的原因是我需要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()
与任何其他情况一样,定义
选取器
参数并连接回调函数
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()
如果其他所有操作都失败,您始终可以通过过滤要更改的元素的
ax.get_children()
的输出来获得艺术家的句柄。