改变facetgrid上每个hist facet的颜色?

Moo*_*dra 2 python matplotlib pandas seaborn

我正在使用来自 kaggle 的泰坦尼克号数据集,我想通过不同的颜色区分幸存者 (1) 与非幸存者 (0) 的方面。

这是我当前的 FacetGrid:

在此处输入图片说明

左边的方面(图表)是那些没有幸存下来的人。我希望那些是红色的。正确的方面现在很好。

所以我想要的输出看起来像这样。我还想为每个方面添加一个简单的图例(红色= '死',蓝色= '幸存') 在此处输入图片说明

这是一个示例数据框 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
Run Code Online (Sandbox Code Playgroud)

这是我目前拥有的代码:

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()
Run Code Online (Sandbox Code Playgroud)

I went through the FacetGrid's API in the documentation (http://seaborn.pydata.org/generated/seaborn.FacetGrid.html#seaborn.FacetGrid) but I didn't see any examples or a way to do what I desire. EDIT:

I tried hue but the problem I was having was that on a hist, the graphs ended up overlapping, and fully covering the graph with lesser values. Thank you!

Nic*_*eli 8

hue参数的工作方式类似于groupby对象。所以,当hue根据Survived列设置时,它成为一个单独的实体,因为它的唯一值(即 0 和 1)。然后使用它的关键字arg,输入要为每个分组实例显示的颜色(0?red, 1?blue)。

可能性一:

d = {'color': ['r', 'b']}
g = sns.FacetGrid(df, row='Sex', col='Survived', hue_kws=d, hue='Survived')
g.map(plt.hist, 'Age')
Run Code Online (Sandbox Code Playgroud)

可能性2:

g = sns.FacetGrid(df, row='Sex', col='Survived', hue='Survived', palette='Set1')
g.map(plt.hist, 'Age')
Run Code Online (Sandbox Code Playgroud)

图片