作者:奔雷手,目前是名在校学生,当前主要在学习机器学习,也在做机器学习方面的助教,相对还是比较了解初学者学习过程的需求和问题,希望通过这个专栏能够广结好友,共同成长。
编辑:王老湿
4.
seaborn一共有5个大类21种图,分别是:
Relational plots 关系类图表
relplot() 关系类图表的接口,其实是下面两种图的集成,通过指定kind参数可以画出下面的两种图
scatterplot() 散点图
lineplot() 折线图
Categorical plots 分类图表
stripplot() 分类散点图
swarmplot() 能够显示分布密度的分类散点图
boxplot() 箱图
violinplot() 小提琴图
boxenplot() 增强箱图
pointplot() 点图
barplot() 条形图
countplot() 计数图
Distribution plot 分布图
jointplot() 双变量关系图
pairplot() 变量关系组图
distplot() 直方图,质量估计图
kdeplot() 核函数密度估计图
rugplot() 将数组中的数据点绘制为轴上的数据
Regression plots 回归图
lmplot() 回归模型图
regplot() 线性回归图
residplot() 线性回归残差图
Matrix plots 矩阵图
heatmap() 热力图
clustermap() 聚集图
下面展现一下以上涉及的大部分绘图示例,所涉及参数均有注释,(可左右滑动代码段)在数据集符合要求的情况下,我们大多可以用一行代码实现绘图功能,相信看完示例后你就能初步掌握seaborn画图,如果对绘图要求更高的话,可以查询seaborn手册更改所画图类型的其他默认参数
%matplotlib inline
# 如果不添加这句,是无法直接在jupyter里看到图的
import seaborn as sns
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
set()
重置默认的主题参数:darkgrid
, whitegrid
, dark
, white
, ticks
。默认的主题darkgrid
。
sns.set()
# 加载数据集Anscombe 看下数据
df = sns.load_dataset("anscombe")
df.head()
seaborn内置了不少样例数据,为dataframe类型,如果要查看数据,可以使用类似df.head()
命令查看
lmplot(回归图)
lmplot是用来绘制回归图的,通过lmplot我们可以直观地总览数据的内在关系。
#显示每个数据集的线性回归结果,xy变量,col,hue定义数据子集变量,可以把它看作分类绘图依据
#data数据,col_wap列变量,ci置信区间,palette调色板,height高度,scatter_kws由散点连线
sns.lmplot(x="x", y="y", col="dataset", hue="dataset", data=df,
col_wrap=2, ci=None, palette="muted", height=4,
scatter_kws={"s": 50, "alpha": 1})
#多元线性回归 重置主题
sns.set()
# 加载iris dataset
iris = sns.load_dataset("iris")
#hue定义数据子集变量,可以把它看作分类绘图依据,truncate回归线
g = sns.lmplot(x="sepal_length", y