博客
关于我
(数据科学学习手札62)详解seaborn中的kdeplot、rugplot、distplot与jointplot
阅读量:420 次
发布时间:2019-03-06

本文共 2173 字,大约阅读时间需要 7 分钟。

Seaborn可视化工具详解:从kdeplot到jointplot的实用指南

一、KDEPlot——核密度估计图

Seaborn的KDEPlot是绘制和分析单变量或双变量核密度估计图的强大工具。以下是其主要参数及使用方法:

1.1 核密度估计图的主要参数

  • data:一维数组,用于传递单变量数据。
  • data2:与data结构相同,用于双变量分析时的第二个数据源。
  • shade:布尔值,决定是否填充核密度曲线下的区域(True表示填充)。
  • vertical:布尔值,在单变量分析时决定是否将轴垂直(默认False)。
  • kernel:字符串,指定核密度估计的核类型,默认为高斯核('gau')。
  • legend:布尔值,决定是否显示图例(默认True)。
  • cumulative:布尔值,决定是否绘制累计分布(默认False)。
  • shade_lowest:布尔值,决定是否为最低密度区域着色(默认True)。
  • cbar:布尔值,在双变量分析时决定是否显示颜色条(默认False)。
  • color:颜色名称,核密度曲线的填充颜色。
  • cmap:颜色映射名称,核密度区域的递进色彩方案。
  • n_levels:整数,决定核密度估计的区间数量(默认为B对数区域)。

1.2 KDEPlot的实际使用方法

通过Seaborn的鸢尾花数据集(Iris)进行实践操作:

import seaborn as snsimport matplotlib.pyplot as pltplt.style.use('seaborn')import numpy as np# 加载数据集iris = sns.load_dataset('iris')# 准备数据setosa = iris.loc[iris.species == 'setosa'].reset_index(drop=True)virginica = iris.loc[iris.species == 'virginica'].reset_index(drop=True)# 绘制KDEPlotax = sns.kdeplot(x=setosa.petal_width, y=setosa.petal_length, cmap='Blues', shade=True, shade_lowest=False)

二、RugPlot——原始数据分布图

RugPlot用于直观展示一维数据的分布位置,与KDEPlot不同,它不进行数据拟合,只绘制观测点的位置。

2.1 RugPlot的主要参数

  • a:一维数组,传入观测值。
  • height:每个观测点对应的小条高度(默认0.05)。
  • axis:轴的选择(默认为x轴)。

2.2 RugPlot的实际使用方法

ax = sns.rugplot(iris.petal_length, axis='y')

三、DistPlot——直方图与核密度估计图

DistPlot结合了直方图、KDEPlot和RugPlot功能,适用于对单变量数据进行多维度分析。

3.1 DistPlot的主要参数

  • a:一维数组,传入分析的单变量数据。
  • bins:直方图的直方数(默认为None,使用Freedman-Diaconis方法计算)。
  • hist:布尔值,决定是否绘制直方图(默认True)。
  • kde:布尔值,决定是否绘制核密度估计曲线(默认True)。
  • rug:布尔值,决定是否绘制RugPlot(默认False)。
  • fit:Scipy统计中的分布类型,用于强行拟合分布(默认None)。
  • color:颜色名称,用于曲线和直方图的填充。
  • norm_hist:布尔值,决定直方图高度表示密度还是频数(默认False)。

3.2 DistPlot的实际使用方法

ax = sns.distplot(iris.petal_length, color='r', rug=True, bins=20)

四、JointPlot——成对变量联合分析图

JointPlot用于展示成对变量的联合分布和相关性分析,支持多种视觉化样式。

4.1 JointPlot的主要参数

  • xy:成对变量的名称或数据数组。
  • data:数据框,用于获取变量值(默认为None)。
  • kind:决定联合图的样式(如'reg'、'hex'、'kde'等)。
  • color:颜色名称,用于图像填充。
  • height:图像高度(默认为height)。
  • ratio:联合图与边缘图的比例(默认为5)。
  • space:联合图与边缘图的空白大小(默认为0)。
  • xlimylim:设置坐标轴范围。
  • joint_kwsmarginal_kws:精细控制联合图和边缘图的样式。

4.2 JointPlot的实际使用方法

ax = sns.jointplot(x='sepal_length', y='sepal_width', data=setosa, kind='kde', space=0, color='g')

五、综合实战与建议

通过以上工具,可以根据具体需求构建丰富的可视化图表。例如:

  • 在联合图中结合KDEPlot和RugPlot;
  • 调整颜色映射和比例;
  • 添加注释和图例以增强可读性。

通过合理搭配这些工具,可以更直观地分析数据分布特征和变量关系。

转载地址:http://xvcuz.baihongyu.com/

你可能感兴趣的文章
OSPF技术连载18:OSPF网络类型:非广播、广播、点对多点、点对多点非广播、点对点
查看>>
OSPF技术连载19:深入解析OSPF特殊区域
查看>>
SQL Server 复制 订阅与发布
查看>>
OSPF技术连载20:OSPF 十大LSA类型,太详细了!
查看>>
OSPF技术连载21:OSPF虚链路,现代网络逻辑连接的利器!
查看>>
OSPF技术连载22:OSPF 路径选择 O > O IA > N1 > E1 > N2 > E2
查看>>
OSPF技术连载2:OSPF工作原理、建立邻接关系、路由计算
查看>>
OSPF技术连载5:OSPF 基本配置,含思科、华为、Junifer三厂商配置
查看>>
OSPF技术连载6:OSPF 多区域,近7000字,非常详细!
查看>>
OSPF技术连载7:什么是OSPF带宽?OSPF带宽参考值多少?
查看>>
OSPF技术连载8:OSPF认证:明文认证、MD5认证和SHA-HMAC验证
查看>>
OSPF故障排除技巧
查看>>
spring配置文件中<context:property-placeholder />的使用
查看>>
OSPF有哪些优势?解决了RIP的什么问题?
查看>>
OSPF理论
查看>>
OSPF的七种类型LSA
查看>>
OSPF的安全性考虑:全面解析与最佳实践
查看>>
OSPF知识点大全,网络工程师快速收藏!
查看>>
ospf综合实验2 2012/9/8
查看>>
OSPF规划两大模型:双塔奇兵、犬牙交错
查看>>