Различать точки на точечной диаграмме в соответствии с совпадением в столбце и в списке

#python #seaborn

#python #сиборн

Вопрос:

Я создал точечную диаграмму, используя (в качестве модели для этого публичного вопроса) следующий df. И у меня есть список имен, которые совпадают с одним столбцом фрейма данных. Я хочу различать по цвету имена, которые совпадают в обоих объектах, и те, которые есть только в df.

Мой df

 df = pd.DataFrame({
'x': ["NameA", "NameB", "NameC"],
'y': [5, 15, 5],
'z': [1,2,3]
})

       x   y  z
0  NameA   5  1
1  NameB  15  2
2  NameC   5  3


  

Код для создания точечной диаграммы выглядит следующим образом

 sns.set(rc={'figure.figsize':(11.7,8.27)})
sns.set_context('notebook')
sns.set(color_codes=True)
sns.scatterplot(data=df, x='z', y='y',
               color="g")

  

Список с именами:

 names = ["NameA","Namec"]

  

Каков наилучший способ сделать это?

Комментарии:

1. Итак, вы хотите, например, покрасить все точки, для которых x есть names синий, а все остальные должны быть неизменными? Что-то вроде df["IsInNames" ] = df.x.isin(names) , а затем раскрасить точечную диаграмму на основе этого столбца?

2. Я хотел бы отобразить все имена одним и тем же цветом, а затем соответствующие имена отображают их другим цветом (зеленый, оранжевый, синий) и помещают легенду.