更改 facetgrid 上每个 hist facet 的颜色?
Changing the colors of each hist facet on facetgrid?
我正在使用来自 kaggle 的 titanic 数据集,我想通过不同的颜色区分幸存者 (1) 和非幸存者 (0) 的方面。
这是我当前的 FacetGrid:
左边的面(图)是那些没有活下来的人。我想让它们变成红色。正确的方面与目前的方式一样好。
所以我想要的输出看起来像这样。
我还想为每个方面添加一个简单的图例 (red color = 'Died', blue color = 'Survived' )
这是一个示例数据框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()
我在文档 (http://seaborn.pydata.org/generated/seaborn.FacetGrid.html#seaborn.FacetGrid) 中查看了 FacetGrid 的 API,但我没有看到任何示例或方法来执行我想要的操作。
编辑:
我试过 hue
但我遇到的问题是,在历史上,图表最终重叠,并用较小的值完全覆盖图表。
谢谢!
hue
参数的工作方式类似于 groupby
对象。因此,当根据 Survived 列设置 hue
时,由于其唯一值(即 0 和 1),它成为一个单独的实体。然后使用它的关键字 arg,输入要为每个分组实例显示的颜色(0→红色,1→蓝色)。
可能性1:
d = {'color': ['r', 'b']}
g = sns.FacetGrid(df, row='Sex', col='Survived', hue_kws=d, hue='Survived')
g.map(plt.hist, 'Age')
可能性2:
g = sns.FacetGrid(df, row='Sex', col='Survived', hue='Survived', palette='Set1')
g.map(plt.hist, 'Age')
我正在使用来自 kaggle 的 titanic 数据集,我想通过不同的颜色区分幸存者 (1) 和非幸存者 (0) 的方面。
这是我当前的 FacetGrid:
左边的面(图)是那些没有活下来的人。我想让它们变成红色。正确的方面与目前的方式一样好。
所以我想要的输出看起来像这样。
我还想为每个方面添加一个简单的图例 (red color = 'Died', blue color = 'Survived' )
这是一个示例数据框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()
我在文档 (http://seaborn.pydata.org/generated/seaborn.FacetGrid.html#seaborn.FacetGrid) 中查看了 FacetGrid 的 API,但我没有看到任何示例或方法来执行我想要的操作。 编辑:
我试过 hue
但我遇到的问题是,在历史上,图表最终重叠,并用较小的值完全覆盖图表。
谢谢!
hue
参数的工作方式类似于 groupby
对象。因此,当根据 Survived 列设置 hue
时,由于其唯一值(即 0 和 1),它成为一个单独的实体。然后使用它的关键字 arg,输入要为每个分组实例显示的颜色(0→红色,1→蓝色)。
可能性1:
d = {'color': ['r', 'b']}
g = sns.FacetGrid(df, row='Sex', col='Survived', hue_kws=d, hue='Survived')
g.map(plt.hist, 'Age')
可能性2:
g = sns.FacetGrid(df, row='Sex', col='Survived', hue='Survived', palette='Set1')
g.map(plt.hist, 'Age')