以泰坦尼克号数据为例,首先导入需要的包
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
加载数据集,共12个特征
train = pd.read_csv('data/train.csv')
train.head()
现在想查看Survived
和Age
的关系,先用Survived
创建一个Grid(size,aspect用于调整grid大小),由于使用的是col
,因此在水平方向创建了两个Grid(Survived有两类)
grid = sns.FacetGrid(train, col='Survived',size=2.2, aspect=1.6)
接着用map函数往grid上填充数据,这里使用了plt的hist,即话Age
的直方图
grid.map(plt.hist, 'Age', bins=20)
grid = sns.FacetGrid(train, col='Sex',row='Pclass',size=2.2, aspect=1.6) grid.map(sns.barplot, 'Survived', 'Age')
更复杂的用法,行是Pclass
,列是Sex
,创建3x2的grid
grid = sns.FacetGrid(train, col='Sex',row='Pclass',size=2.2, aspect=1.6)
向Grid上map数据,画柱状图, 即每个Grid中展示Survived
和Age
的情况
grid.map(sns.barplot, 'Survived', 'Age')