写在开头:今天开始分享一下seaborn对于数据集分布的设计。该文章主要借鉴seaborn文档,会附在结尾链接。
前文回顾:
第一节分享了Seaborn绘图的整体颜色与风格比例调控,可点击链接查看。
python数据可视化之Seaborn(一)
第二节分享了连续、分类、离散数据的绘图颜色的方法,可点击链接查看。
python数据可视化之Seaborn(二)
Seaborn可视化内容安排
在Seaborn的学习中安排如下,
一、画风设置:会简单介绍一下绘图风格(一)与颜色风格(二)的设置;
二、绘图技巧:这里会介绍数据集(三)、相关数据(四)、分类数据(五)、线性关系(六)可视化的相关内容;
三、结构网络:本节主要介绍数据识别结构网络的绘图(七)。
二、Seaborn绘图技巧
数据集分布可视化
当我们处理数据集数据的时候,我们往往需要查看数据的分布情况,判断其属于哪种分布,或者判断其是否正态, 因为在有些统计模型下需要正态的假定,本章我们就会对单变量数据的分布直方图、核密度图,双变量分布矩阵图进行和一些个性化设置进行分享。
绘制单变量分布
在绘制图之前我们先载入本章需要的包,
import numpy as np
import pandas as pd
from scipy import stats, integrate
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
np.random.seed(42)
直方图
在seaborn中,对于单变量数据分布方法观察最便捷的方式就是绘制直方图和核密度估计,使用的就是distplot()函数,直方图其实就是根据数据的大小,将数据分成一段一段的矩形,来观察数据的分布情况。
sns.set_style("darkgrid")
x = np.random.normal(size=200)
sns.distplot(x, color='y')
我们可以移除核密度估计线,在轴上加上垂直小标签来表示数据所在的位置,同样还可以调整矩阵的数量,来对图像进行重新绘制,
sns.distplot(x, kde=False, rug=True, bins=20)
绘制直方图可以粗略的观察到数据的分布情况,但直方图存在比较大的缺陷就是其边界问题,直方图的边界过于强硬,将数据按照固定的不能移动的距离进行分类,使得图形包容性不够强。为此引入了核密度分析,核密度函数图引入了核函数,使得边界变得灵活。
核密度估计
核密度估计能够将直方图的信息更加全面的包括进来,绘制出更加光滑的曲线,同样可以通过distplot()函数表示,
sns.distplot(x, hist=False, rug=