X 轴未与条形图中的条正确对齐(seaborn)

Moo*_*dra 3 matplotlib pandas seaborn

我的图表最终看起来像这样:

在此输入图像描述

我获取了原始的泰坦尼克号数据集并分割了一些列,并通过以下代码创建了一个新的数据框。

Cabin_group = titanic[['Fare', 'Cabin', 'Survived']] #selecting certain columns from dataframe
Cabin_group.Cabin = Cabin_group.Cabin.str[0] #cleaning the Cabin column
Cabin_group = Cabin_group.groupby('Cabin', as_index =False).Survived.mean()
Cabin_group.drop([6,7], inplace = True) #drop Cabin G and T as instances are too low
Cabin_group['Status']= ('Poor', 'Rich', 'Rich', 'Medium', 'Medium', 'Poor') #giving each Cabin a status value.
Run Code Online (Sandbox Code Playgroud)

所以我的新数据框“Cabin_group”最终看起来像这样:

  Cabin  Survived  Status
0     A  0.454545    Poor
1     B  0.676923    Rich
2     C  0.574468    Rich
3     D  0.652174  Medium
4     E  0.682927  Medium
5     F  0.523810    Poor
Run Code Online (Sandbox Code Playgroud)

这是我尝试绘制数据框的方法

fig = plt.subplots(1,1, figsize = (10,4))
sns.barplot(x ='Cabin', y='Survived', hue ='Status', data = Cabin_group )
plt.show()
Run Code Online (Sandbox Code Playgroud)

所以这张图有一些问题;首先,我们将条形 A、D、E 和 F 移离它们各自的 x 轴标签。其次,条形图本身似乎比我通常的条形图更薄/更瘦。

不知道如何将条形移动到正确的位置,以及如何控制条形的宽度。

谢谢。

小智 12

这可以通过 dodge = False 来实现。它是在新版本的seaborn中处理的。