seaborn系列 (7) | 核函数密度估计图kdeplot()

核函数密度估计图

核函数密度估计图​kdeplot(),该图主要用来拟合并绘制单变量或双变量核密度估计值。

函数原型

seaborn.kdeplot(data, data2=None, shade=False, 
                vertical=False, kernel='gau', bw='scott',
                gridsize=100, cut=3, clip=None,
                legend=True, cumulative=False,
                shade_lowest=True, cbar=False, 
                cbar_ax=None, cbar_kws=None, ax=None, **kwargs)

参数解读

shade:阴影:bool类型
作用:设置曲线下方是否添加阴影,如果为True则在曲线下方添加阴影
(如果数据为双变量则使用填充的轮廓绘制),若为False则,不绘制阴影

cbar:bool类型
作用:如果为True则绘制双变量KDE图,并添加颜色条

案例教程

案例代码已上传:Github地址

import matplotlib.pyplot as plt
import numpy as np; 
import seaborn as sns; 
sns.set(color_codes=True)
np.random.seed(10)
#构建数据
mean, cov = [0, 2], [(1, .5), (.5, 1)]
x, y = np.random.multivariate_normal(mean, cov, size=50).T
"""
案例1:
绘制基本的单变量密度曲线图
"""
sns.kdeplot(x)
plt.show()

在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np; 
import seaborn as sns; 
sns.set(color_codes=True)
np.random.seed(10)
#构建数据
mean, cov = [0, 2], [(1, .5), (.5, 1)]
x, y = np.random.multivariate_normal(mean, cov, size=50).T
"""
案例2:
绘制密度曲线,并在曲线下着色
通过设置color来设置不同的显示颜色
"""
sns.kdeplot(x, shade=True, color="g")
plt.show()

在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np; 
import seaborn as sns; 
sns.set(color_codes=True)
np.random.seed(10)
#构建数据
mean, cov = [0, 2], [(1, .5), (.5, 1)]
x, y = np.random.multivariate_normal(mean, cov, size=50).T
"""
案例3:
绘制双变量密度曲线
"""
sns.kdeplot(x, y)
plt.show()

在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np; 
import seaborn as sns; 
sns.set(color_codes=True)
np.random.seed(10)
#构建数据
mean, cov = [0, 2], [(1, .5), (.5, 1)]
x, y = np.random.multivariate_normal(mean, cov, size=50).T
"""
案例 4:
使用轮廓填充
"""
sns.kdeplot(x, y, shade=True,color='r')
plt.show()

在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np; 
import seaborn as sns; 
sns.set(color_codes=True)
np.random.seed(10)
#构建数据
mean, cov = [0, 2], [(1, .5), (.5, 1)]
x, y = np.random.multivariate_normal(mean, cov, size=50).T
"""
案例5:
使用更多轮廓级别和不同的调色板:
"""
sns.kdeplot(x, y, n_levels=30, cmap="Purples_d")
plt.show()

在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np; 
import seaborn as sns; 
sns.set(color_codes=True)
np.random.seed(10)
#构建数据
mean, cov = [0, 2], [(1, .5), (.5, 1)]
x, y = np.random.multivariate_normal(mean, cov, size=50).T
"""
案例6:
给轮廓添加颜色条
"""
sns.kdeplot(x, y, cbar=True)
plt.show()

在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np; 
import seaborn as sns; 
# 获取数据
iris = sns.load_dataset("iris")
setosa = iris.loc[iris.species == "setosa"]
virginica = iris.loc[iris.species == "virginica"]
"""
案例7:
绘制多个阴影双变量密度图(这里绘制两个)
"""
sns.kdeplot(setosa.sepal_width, setosa.sepal_length,cmap="Reds", shade=True, shade_lowest=False)

sns.kdeplot(virginica.sepal_width, virginica.sepal_length,cmap="Blues", shade=True, shade_lowest=False)
plt.show()

在这里插入图片描述

案例地址

上述案例代码已上传:Github地址
Github地址https://github.com/Vambooo/SeabornCN

更多技术干货在公众号:数据分析与可视化学研社

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

脑机接口社区

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值