sdd*_*sdd 3 kernel python-3.x seaborn kaggle
这是来自 kaggle Titanic 竞赛内核的代码:
grid = sns.FacetGrid(train_df, row='Embarked', size=2.2, aspect=1.6)
grid.map(sns.pointplot, 'Pclass', 'Survived', 'Sex', palette='deep')
grid.add_legend()
Run Code Online (Sandbox Code Playgroud)
它会产生错误的情节,即颜色相反的情节。我想知道如何修复这个确切的代码片段。我尝试将关键字参数添加到 grid.map() 调用 - order=["male", "female"], hue_order=["male", "female"],但随后图变空。
在对 的代码调用中grid.map(sns.pointplot, 'Pclass', 'Survived', 'Sex', palette='deep'),x 类别是Pclass,色调类别是Sex。因此你需要添加
order = [1,2,3], hue_order=["male", "female"]
Run Code Online (Sandbox Code Playgroud)
完整的例子(我在那里拿了 seaborn 附带的泰坦尼克号 - 什么文字游戏!):
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset("titanic")
grid = sns.FacetGrid(df, row='embarked', size=2.2, aspect=1.6)
grid.map(sns.pointplot, 'pclass', 'survived', 'sex', palette='deep',
order=[1,2,3], hue_order=["female","male"])
grid.add_legend()
plt.show()
Run Code Online (Sandbox Code Playgroud)
请注意,虽然hue_order绝对需要,但您可以省略order. 虽然这会发出警告,但正确的顺序是由这些值是数字并因此自动排序的事实来保证的。
| 归档时间: |
|
| 查看次数: |
6479 次 |
| 最近记录: |