1、密度图、核密度图分布可视化:distplot函数+kdeplot函数
distplot()函数:集合了matplotlib的hist()与核函数估计kdeplot的功能,增加了rugplot分布观测条显示与利用scipy库fit拟合参数分布的新颖用途。其中,直方图表示通过沿数据范围形成分箱,然后绘制条以显示落入每个分箱的观测次数的数据分布图。
fig, axes = plt.subplots(1,2,figsize=(10,6))
sns.distplot(data_frame[cols[0]], # 不写为x=data_frame[cols[0]],是因为这样可自动添加横坐标标签
# bins=10, # 自定义柱状宽度,不设置更好,会自动计算
# hist=True,
kde = True, norm_hist = False, # 柱状图是否按照密度来显示,如果为 False,显示计数,尝试测试-----------------
rug = True, # 单变量的柱状图,hist、ked、rug:bool,是否显示箱柱状图/密度曲线/边际毛毯数据分布/阴影,尝试测试-----------------
# fit=norm, # fit 可结合scipy库在图像上做拟合,拟合标准正态分布
vertical = False, # 是否水平显示,True
label='dis', # label 图例,
# axlabel=cols[0], # axlabel x轴标注
ax = axes[0],
)
sns.kdeplot(data_frame[cols[0]],
shade=True, # shade(颜色填充KDE曲线下方的区域)
bw=bw01,
label='kde_bw%.2f'%bw01,
# axlabel=cols[0], # label 图例,axlabel x轴标注
ax = axes[1],
)
2、箱型图、散点图组合可视化(仅第2变量必须为数值型)
sns.boxplot(x=cols[0],y=cols[1],data=data_frame,
hue=cols[2], # 该特征必须为类别型特征
linewidth=2, width=0.8, fliersize=3, # 线宽、箱之间的间隔比例,异常点大小
whis = 1.5, # 设置IQR
notch = True, # 设置是否以中值做凹槽,尝试测试-----------------
# order = ['Thur','Fri','Sat','Sun'],
)
sns.swarmplot(x=cols[0],y=cols[1],data=data_frame,
# color ='k',size = 3,alpha = 0.8,
)
3、小提琴图、散点图组合可视化(仅第2变量必须为数值型)
sns.violinplot(x=cols[0],y=cols[1],data=data_frame,
hue=cols[2], # 该特征必须为类别型特征
scale = 'area', # 测度小提琴图的宽度:area-面积相同,count-按照样本数量决定宽度,width-宽度一样
gridsize = 50, # 设置小提琴图边线的平滑度,越高越平滑
inner = 'box', # 设置内部显示类型 → box、quartile、point、stick、None,尝试测试-----------------
# split=True, # 设置是否拆分小提琴图,前提条件是第三特征为二类别属性,尝试测试-----------------
#bw = 0.8 # 控制拟合程度,一般可以不设置
)
sns.swarmplot(x=cols[0],y=cols[1],data=data_frame,
hue=cols[2], # 该特征必须为类别型特征
# color="w", alpha=.5,
)