学习目标:
熟悉各种数据可视化方法
学习内容:
掌握matplotlib画图及其优化方法
学习产出:
# 导入库
import numpy as np
import pandas as pd
% matplotlib inline #使用jupyter需要加这句
import matplotlib.pyplot as plt
# 导入数据
df = pd.read_csv('result.csv')
# 画图
# 柱状图bar,barh;男女中生存人与死亡人数
sex = df.groupby(['Sex','Survived'])['Survived'].count().unstack()
sex.plot(kind='bar', stacked=True, alpha=0.5)
plt.xlabel("Sex")
plt.ylabel("Survived_count")
plt.title('bar')
plt.grid(axis="y")# 加网格线
sex.plot(kind='barh', stacked=True, alpha=0.5)
plt.ylabel("Sex")
plt.xlabel("Survived_count")
plt.title('barh')
plt.xticks(rotation=45) # x 轴上标签的角度
plt.grid(axis="x")# 加网格线
plt.xticks(rotation=45) # x 轴上标签的角度
plt.legend(['Survived', 'died']) # 图例
plt.show()
# 折形图plot;不同仓位等级的人生存和死亡人员
pclass=df.groupby(['Pclass'])['Survived'].value_counts().unstack()
pclass.plot(stacked=True)
plt.ylabel("Survived_count")
plt.xlabel("Pclass")
plt.title('plot')
# 分类直方图barplot
import seaborn as sns
sns.countplot(x="Pclass", hue="Survived", data=df)
# 面积图
facet = sns.FacetGrid(text, hue="Survived",aspect=3)
facet.map(sns.kdeplot,'Age',shade= True)
facet.set(xlim=(0, text['Age'].max()))
facet.add_legend()
# 直方图hist,不同年龄的人生存和死亡人员
age=df.groupby(['Age'])['Survived'].value_counts().unstack()
age.plot(kind='hist',ec="yellow", alpha=0.5, stacked=True)
# kde图
df.groupby(['Age'])['Survived'].value_counts().unstack().plot(kind='kde', stacked=True, alpha=0.5)
plt.title('Age_Survived')
plt.ylabel('count')
plt.show()