Press "Enter" to skip to content

Seaborn:一行代码生成酷炫狂拽的数据集可视化

之前看其他大佬的项目,只在意他们通过可视化的数据集,对数据特征挖掘的思路,但没有在意他们做可视化的工具。轮到自己做的时候就发现,wtf!matplotlib可以更难用一点嘛?别人酷炫狂拽,坐标轴上还有直方图的可视化究竟是怎幺弄的?

 

今天碰到了Seaborn的库,一行代码就出图,爱了!

 

Seaborn介绍

 

Seaborn是Python的数据统计图形库。 它基于matplotlib构建,并与pandas数据结构紧密集成。

 

Seaborn功能简介

 

面向数据集的API,便于观察多个变量之间的关系

 

 

支持分类变量可视化或汇总统计信息

 

 

 

可视化单变量或双变量分布,以及在数据子集之间进行比较

 

 

 

不同因变量的线性回归和展示

 

 

 

方便查看复杂数据集的整体结构

 

 

强大的函数,可让您轻松构建复杂的可视化

 

 

 

基于matplotlib的样式

 

 

包含调色板工具

 

flatui = ["#9b59b6", "#3498db", "#95a5a6", "#e74c3c", "#34495e", "#2ecc71"]
sns.palplot(sns.color_palette(flatui))

 

 

seaborn功能初探

 

#导入库
import numpy as np
import pandas as pd
import seaborn as sns

 

单变量可视化

 

查看seaborn中的单变量分布的最便捷方法是distplot()函数。默认情况下,将绘制直方图并拟合核密度估计(KDE, kernel density estimate)。

 

# 生成数据
x = np.random.normal(size=100)
# 数据可视化
sns.distplot(x)

 

 

双变量分布可视化

 

在seaborn中可视化双变量的方法是jointplot()函数,该函数创建一个多面板图形,该图形同时显示两个变量之间的双变量(或联合)关系以及每个变量的单变量分布。

 

# 生成二维数据
mean, cov = [0, 1], [(1, .5), (.5, 1)]
data = np.random.multivariate_normal(mean, cov, 200)
df = pd.DataFrame(data, columns=["x", "y"])
# 数据可视化
sns.jointplot(x="x", y="y", data=df)

 

 

二维直方图

 

sns.jointplot(x=x, y=y, kind="hex")

 

 

核密度估计

 

sns.jointplot(x="x", y="y", data=df, kind="kde")

 

 

多变量数据可视化

 

要在多变量数据集中绘制成对的双变量分布,可以使用pairplot()函数。这将创建轴矩阵,并显示DataFrame中每列的关系。默认情况下,它还会在对角轴上绘制每个变量的单变量分布。

 

# 读入内置数据
iris = sns.load_dataset("iris")
# 数据可视化
sns.pairplot(iris)

 

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注