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!
该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)
| 归档时间: |
|
| 查看次数: |
8263 次 |
| 最近记录: |