python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > sns.distplot()方法使用

Python sns.distplot()方法的使用方法

作者:DDxuexi

机器学习中经常会用到图形进行可视化,如在网格搜索(GridSearch)后对特征的重要性进行排序时,用到sns.barplot()函数按照重要程度输出特征,这篇文章主要给大家介绍了关于Python sns.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)
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)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YCj2zRDg-1618559958323)(output_4_1.png)]

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:>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hhQvZHPj-1618559958340)(output_7_1.png)]

​通过hidt和kde参数调节是否显示直方图和核密度估计((默认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:>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C6l6XyEZ-1618559958346)(output_9_1.png)]

​rag:控制是否生成观测数值的小细条

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KJL1B4rI-1618559958349)(output_11_1.png)]

​fit:控制拟合的参数分布图形,能够直观地评估它与观察数据的对应关系(黑色线条为确定的分布)

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iVnv4pVs-1618559958351)(output_13_1.png)]

​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")

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TLdzzMle-1618559958389)(output_17_1.png)]

​总结

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

您可能感兴趣的文章:
阅读全文