将文本添加到seaborn.relplot 中的每个点

Bhu*_*aur 3 python matplotlib seaborn

我使用下面的代码来生成relplot

df = pd.read_csv(r"train.csv")
df.head()
p1=sns.relplot(x="OS_Packages",y="Vulnerabilities",hue="OS_Distro",
               size="High_Vulnerabilities",sizes=(400,1000), data = df)
plt.show()
Run Code Online (Sandbox Code Playgroud)

我需要向图中的每个点添加文本。我怎样才能做到这一点?我已经搜索过,但只得到了结果,因为regplot.我正在寻找将文本添加到 a 的点relplot

jtw*_*der 5

正如此答案中所述,您必须访问由relplot.

简单重现您的问题并注明要点:

import seaborn as sns
import pandas as pd

d = {'OS_Packages':[0,1,2,4], 'Vulnerabilities': [6,7,3,7], 
     'text':['point1','point2','point3','point4']}
df = pd.DataFrame(d)

p1 = sns.relplot(x='OS_Packages', y='Vulnerabilities',data=df )
ax = p1.axes[0,0]
for idx,row in df.iterrows():
    x = row[0]
    y = row[1]
    text = row[2]
    ax.text(x+.05,y,text, horizontalalignment='left')
Run Code Online (Sandbox Code Playgroud)

这将返回以下内容:

在此输入图像描述