可以在不指定`order的情况下使用barplot函数吗?

时间:2019-07-16 04:17:13

标签: python jupyter-notebook

我正在基于这个Kaggle kernel处理Titanic数据集。在我尝试使用barplot函数的部分上,它给了我一条警告消息:“ UserWarning:在未指定order的情况下使用barplot函数可能会产生不正确的图。”

我应该担心吗?

我尝试指定order参数和hue_order。

'''

> grid = sns.FacetGrid(train_df, col='Embarked', row='Survived',
> height=2.2, aspect=1.6) grid.map(sns.barplot, 'Sex', 'Fare',
> alpha=0.5, ci=None, order=[1,2,3], hue_order=['Embarked', 'Survived'])
> grid.add_legend()

'''

当我指定订单和hue_order时,它给了我空的柱状图。 empty barplots

但是,当我取出订单和hue_order时,它确实给了我带有以下警告消息的图:

'''

C:\Users\user\Anaconda3\lib\site-packages\seaborn\axisgrid.py:715: UserWarning: Using the barplot function without specifying `order` is likely to produce an incorrect plot.
  warnings.warn(warning)

''' results with error warning

我应该知道的任何想法或提示吗?预先感谢!

1 个答案:

答案 0 :(得分:0)

我不确定如何使用 sns.Facetgrid 修复警告。您可以使用 catplot 来绘制完全相同的图。

这是我的代码:

g = sns.catplot(x="Sex", y='Fare', row="Embarked",
                   col='Survived', data=train_df,kind ='bar')