Python Seaborn散点图-标记数据点

Python Seaborn散点图-标记数据点,python,plot,seaborn,Python,Plot,Seaborn,我有一个使用数据帧数据的Seaborn散点图。我想使用df中与该观察(行)相关的其他值向绘图添加数据标签。请参见下文-是否有方法将至少一个列值(a或B)添加到绘图中?更好的是,有没有办法添加两个标签(在本例中,是a列和B列中的值?) 我曾尝试使用for循环,在我的搜索中使用如下函数,但没有成功使用此散点图 谢谢你的帮助 df_so = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD')) scatte

我有一个使用数据帧数据的Seaborn散点图。我想使用df中与该观察(行)相关的其他值向绘图添加数据标签。请参见下文-是否有方法将至少一个列值(a或B)添加到绘图中?更好的是,有没有办法添加两个标签(在本例中,是a列和B列中的值?)

我曾尝试使用for循环,在我的搜索中使用如下函数,但没有成功使用此散点图

谢谢你的帮助

df_so = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))
scatter_so=sns.lmplot(x='C', y='D', data=df_so,
           fit_reg=False,y_jitter=0, scatter_kws={'alpha':0.2})

fig, ax = plt.subplots() #stuff like this does not work 
使用:

输出:


我不这么认为,因为我们严格考虑从一组3个簇中添加重复标签的答案:从pandas数据框创建的分散点,以及使用数据框中另一列的值创建的seaborn。这不正是你想要的吗?这可能不是OP想要的,但这正是这个问题所要求的。除非对其进行编辑以询问实际问题(显示链接的解决方案在多大程度上没有帮助),否则我同意它是重复的。谢谢。投票被否决的原因是什么?
df_so = pd.DataFrame(np.random.randint(0,100,size=(20, 4)), columns=list('ABCD'))
scatter_so=sns.lmplot(x='C', y='D', data=df_so,
           fit_reg=False,y_jitter=0, scatter_kws={'alpha':0.2})


def label_point(x, y, val, ax):
    a = pd.concat({'x': x, 'y': y, 'val': val}, axis=1)
    for i, point in a.iterrows():
        ax.text(point['x']+.02, point['y'], str(point['val']))

label_point(df_so['C'], df_so['D'], '('+df_so['A'].astype(str)+', '+df_so['B'].astype(str)+')', plt.gca())  df_so = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))
scatter_so=sns.lmplot(x='C', y='D', data=df_so,
           fit_reg=False,y_jitter=0, scatter_kws={'alpha':0.2})


def label_point(x, y, val, ax):
    a = pd.concat({'x': x, 'y': y, 'val': val}, axis=1)
    for i, point in a.iterrows():
        ax.text(point['x']+.02, point['y'], str(point['val']))

label_point(df_so['C'], df_so['D'], '('+df_so['A'].astype(str)+', '+df_so['B'].astype(str)+')', plt.gca())