seaborn.distplot() 直方图,质量估计图,核密度估计图
该API可以绘制分别直方图和核密度估计图,也可以绘制直方图和核密度估计图的合成图 通过设置默认情况下,是绘制合成图,设置情况图下:
hist=True:表示要绘制直方图(默认情况为True),若为False,则不绘制
kde=True:表示要绘制核密度估计图(默认情况为True),若为False,则绘制
seaborn.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)
a: Series, 一维数组或列表
要输入的数据,如果设置name属性,则该名称将用于标记数据轴;
以下是可选参数:
bins: matplotlib hist()的参数 或者 None
作用:指定直方图规格,若为None,则使用Freedman-Diaconis规则,
该规则对数据中的离群值不太敏感,可能更适用于重尾分布的数据。
它使用 bin 大小
[2∗IQR(X(:))∗numel(X)(−1/4),2∗IQR(Y(:))∗numel(Y)(−1/4)][2∗IQR(X(:))∗numel(X)(−1/4),2∗IQR(Y(:))∗numel(Y)(−1/4)] ,
其中 IQR 为四分位差。
hist:bool
是否绘制(标准化)直方图
kde:bool
是否绘制高斯核密度估计图
rug:bool
是否在支撑轴上绘制rugplot()图
{hist,kde,rug,fit} _kws:字典
底层绘图函数的关键字参数
color:matplotlib color
该颜色可以绘制除了拟合曲线之外的所有内容
vertical:bool
如果为True,则观察值在y轴上,即水平横向的显示
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
sns.set()
#构建数据
np.random.seed(0)
x = np.random.randn(100)
"""
案例1:显示默认绘图,其中包含内核密度估计值和直方图
"""
sns.distplot(x,kde=True,hist=False)
plt.show()
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
sns.set()
#构建数据
np.random.seed(0)
x = np.random.randn(100)
# 使用pandas来设置x 轴标签 和y 轴标签
x = pd.Series(x, name="x variable")
"""
案例2:绘制直方图和核函数密度估计图
"""
sns.distplot(x)
plt.show()
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
sns.set()
#构建数据
np.random.seed(0)
x = np.random.randn(100)
"""
案例3:绘制核密度估计和地图
"""
sns.distplot(x, rug=True, hist=False)
plt.show()
from scipy.stats import norm
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
sns.set()
#构建数据
np.random.seed(0)
x = np.random.randn(100)
"""
案例4:绘制直方图和最大似然高斯分布拟合图
"""
sns.distplot(x, fit=norm, kde=False)
plt.show()
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
sns.set()
#构建数据
np.random.seed(0)
x = np.random.randn(100)
"""
案例5:绘制水平直方图 (即在垂直轴上绘制分布)
"""
sns.distplot(x, vertical=True)
plt.show()
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
sns.set()
#构建数据
np.random.seed(0)
x = np.random.randn(100)
"""
案例7:改变绘图元素的颜色
"""
sns.set_color_codes()
sns.distplot(x, color="y")
plt.show()
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
sns.set()
#构建数据
np.random.seed(0)
x = np.random.randn(100)
# 制定一些绘图参数
sns.distplot(x, rug=True, rug_kws={"color": "g"},
kde_kws={"color": "k", "lw": 3, "label": "KDE"},
hist_kws={"histtype": "step", "linewidth": 3,
"alpha": 1, "color": "g"})
plt.show()
案例地址
案例代码已上传:Github https://github.com/Vambooo/SeabornCN
整理制作:数据分析与可视化学研社
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有