Я использую титанический набор данных из kaggle, и я хотел бы различать грани выживших (1) и Non-Survivors (0) с помощью разных цветов.Изменение цвета каждой грани гистограммы на фасетгриде?
Вот мой текущий FacetGrid:
Левые фасеты (графики) из тех, кто не выжил. Я хочу, чтобы они были окрашены в красный цвет. Правильные грани в порядке, как сейчас.
Так что мой желаемый результат будет выглядеть примерно так. Я также хотел бы добавить простую легенду каждую фасетку (красного цвета = «Умер», синего цвета = «Выжил»)
Вот пример dataframe Full Set
Sex Survived
PassengerId
1 male 0
2 female 1
3 female 1
4 female 1
5 male 0
6 male 0
7 male 0
8 male 0
9 female 1
10 female 1
11 female 1
12 female 1
13 male 0
14 male 0
15 female 0
16 female 1
17 male 0
18 male 1
19 female 0
Вот код, который я в настоящее время:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style ="ticks")
h=sns.FacetGrid(Full_set, col ='Survived', row ='Sex', palette = 'Set1', size =2, aspect =2)
h =h.map(plt.hist, 'Age')
plt.show()
Я прошел через API в FacetGrid в документация (http://seaborn.pydata.org/generated/seaborn.FacetGrid.html#seaborn.FacetGrid), но я не видел никаких примеров или способов делать то, что я желаю. EDIT:
Я пробовал hue
, но проблема, с которой я столкнулась, заключалась в том, что на гистограмме границы перекрывались и полностью покрывали график меньшими значениями. Спасибо!
Пробовали ли вы 'hue'? – mwaskom
Да, я попробовал 'hue', но проблема, с которой я столкнулся, заключалась в том, что в истории гистограммы оказались перекрывающимися и полностью покрывали график меньшими значениями. – Moondra
@moondra, вы можете попробовать: 'g = sns.FacetGrid (Full_set, row =" Sex ", col =" Survived ", hue_kws = {'color': ['r', 'b']}, hue =" Выжил "); g.map (plt.hist, "Age") '? –