#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. Я хотел бы отобразить все имена одним и тем же цветом, а затем соответствующие имена отображают их другим цветом (зеленый, оранжевый, синий) и помещают легенду.