Python Seaborn distplot 参数详解与使用指南

Ada
Ada
发布时间:2026-10-15| 5人浏览过
原创

本文详细介绍Python中Seaborn库的distplot()函数,涵盖hist、kde、rug、fit、bins等核心参数的使用方法。通过代码示例解析如何控制直方图与核密度估计的显示,调整坐标轴标签及分布拟合,帮助开发者快速掌握数据分布可视化技巧。

distplot 函数参数概览

#displot参数如下
sns.distplot(a, bins=None, hist=True, kde=True, rug=False, fit=None, hist_kws=None, kde_kws=None, rug_kws=None, fit_kws=None, color=None, vertical=False, norm_hist=False, axlabel=None, label=None, ax=None)
  • hist参数用于控制是否显示直方图条形,默认值为True。
  • kde参数用于控制是否显示核密度估计曲线,默认值为True。
  • rug参数用于控制是否显示观测值的边际毛毯(小细条),默认值为False。
  • fit参数用于设定拟合的概率分布函数,以便将拟合曲线与原图数据进行比较。
  • axlabel参数用于设置x轴的标签文本。
  • label参数在当前版本中似乎未发挥明显作用。
  • ax参数用于指定绘图所在的Axes对象,即控制图片在画板中的具体位置。

基础绘图与核心参数控制

import matplotlib.pyplot as plt 
import numpy as np
import pandas as pd 
import seaborn as sns 
sns.set()  #切换到sns的默认运行配置
import warnings
warnings.filterwarnings('ignore')
x=np.random.randn(100)
sns.distplot(x)

sns.distplot(x,kde=False)
<AxesSubplot:>

norm_hist参数若设为True,则直方图的高度表示密度而非计数;当同时包含kde图像时,该参数默认值为True。

直方图密度与位置设置

#norm_hist
fig,axes=plt.subplots(1,2)
sns.distplot(x,norm_hist=True,kde=False,ax=axes[0]) #左图
sns.distplot(x,kde=False,ax=axes[1]) #右图
<AxesSubplot:>

可以通过设置hist和kde参数来调节是否显示直方图和核密度估计曲线,默认情况下这两个参数均为True。

组合显示与边际毛毯

fig,axes = plt.subplots(1,3) # 创建一个1行3列的图片
sns.distplot(x,ax=axes[0]) # ax=axex[0]表示该图片在整个画板中的位置
sns.distplot(x,hist=False,ax=axes[1])  #不显示直方图
sns.distplot(x,kde=False,ax=axes[2])  #不显示核密度
<AxesSubplot:>

rug参数用于控制是否生成观测数值的小细条,即边际毛毯。

#rag
fig,axes=plt.subplots(1,2)
sns.distplot(x,rug=True,ax=axes[0]) #左图
sns.distplot(x,ax=axes[1]) #右图
<AxesSubplot:ylabel='Density'>

fit参数用于控制拟合的参数分布图形,能够直观地评估它与观察数据的对应关系,图中黑色线条代表确定的分布。

分布拟合与区间划分

#fit
from scipy.stats import *
sns.distplot(x,hist=False,fit=norm) #拟合标准正态分布
<AxesSubplot:ylabel='Density'>

bins参数接受int或list类型,用于控制直方图的划分方式。

#bins
fig,axes=plt.subplots(1,2) 
sns.distplot(x,kde=False,bins=20,ax=axes[0]) #分成20个区间
sns.distplot(x,kde=False,bins=[x for x in range(4)],ax=axes[1]) #以0,1,2,3为分割点,形成区间[0,1],[1,2],[2,3],区间外的值不计入。

vertical和color参数分别用于控制图表是否垂直显示以及设置颜色。

其他显示选项

# 
sns.distplot(x,vertical=True,color="y")

​

总结

到此这篇关于Python sns.distplot()方法使用的文章就介绍到这了,更多相关sns.distplot()方法使用内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。