classes = []survived_s = [[], []]for pclass, items in data.groupby(by=['class']):
classes.append(pclass)
count0 = items[items['survived'] == 0]['survived'].count()
count1 = items[items['survived'] == 1]['survived'].count()
survived_s[0].append(count0)
survived_s[1].append(count1)
# 绘制图形
plt.bar(classes, survived_s[0], color='r', width=0.3)
plt.bar(classes, survived_s[1], bottom=survived_s[0], color='g', width=0.3)
# 添加文字
for i, pclass in enumerate(classes):
totals = survived_s[0][i] + survived_s[1][i] plt.text(pclass, survived_s[0][i] // 2, '%.2f%%' % ((survived_s[0][i]) / totals * 100), ha='center')
plt.text(pclass, survived_s[0][i] + survived_s[1][i] // 2, '%.2f%%' % ((survived_s[1][i]) / totals * 100),
ha='center')
plt.xticks(classes, classes)
plt.ylim([0, 600])
plt.legend(['die', 'survive'], loc='upper right')
plt.grid(axis='y', color='gray', linestyle=':', linewidth=2)
plt.xlabel("class")
plt.ylabel("number")
plt.show()