Трудно судить, не видя точно, как структурированы ваши данные, но по предоставленной мной ссылке это должно работать нормально.Если вы сможете показать, как на самом деле выглядят данные, это может прояснить ситуацию.
df.drop(["name","ticket","cabin","boat","body","home.dest"], axis=1,inplace=True)
df.embarked = df.embarked.fillna(df.embarked.mode()[0])
es_grp1=df.groupby(['embarked','survived'])
value_sum = 0
for i in es_grp1.groups.keys():
plt.bar(0,es_grp1.get_group(i).embarked.size, bottom=value_sum)
value_sum += es_grp1.get_group(i).embarked.size
plt.text(str(i),es_grp1.get_group(i).embarked.size,es_grp1.get_group(i).embarked.size)
plt.show()