Добавьте текст к каждой точке в seaborn.relplot - PullRequest
0 голосов
/ 05 ноября 2019

Я использую приведенный ниже код для генерации 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()

Мне нужно добавить текст к каждой точке на графике. Как я могу это сделать? Я искал, но получил результаты только для regplot. Я ищу добавление текста к точкам relplot.

1 Ответ

0 голосов
/ 05 ноября 2019

Как отмечается в этом ответе , вам необходимо получить доступ к осям FacetGrid, который возвращается 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')

Это вернет следующее:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...