分享

Py之seaborn:数据可视化seaborn库(二)的组合图可视化之密度图/核密度图分布可视化、箱型图/散点图、小提琴图/散点图组合可视化的简介、使用方法之最强攻略(建议收藏)

 处女座的程序猿 2021-09-28

Py之seaborn:数据可视化seaborn库(二)的组合图可视化之密度图/核密度图分布可视化、箱型图/散点图、小提琴图/散点图组合可视化的简介、使用方法之最强攻略(建议收藏)


相关文章
Py之seaborn:seaborn库的简介、安装、使用方法之详细攻略
Py之seaborn:数据可视化seaborn库(一)的柱状图、箱线图(置信区间图)、散点图/折线图、核密度图/等高线图、盒形图/小提琴图/LV多框图的简介、使用方法之最强攻略(建议收藏)
Py之seaborn:数据可视化seaborn库(二)的组合图可视化之密度图/核密度图分布可视化、箱型图/散点图、小提琴图/散点图组合可视化的简介、使用方法之最强攻略(建议收藏)
Py之seaborn:数据可视化seaborn库(三)的矩阵图可视化之jointplot函数、JointGrid函数、pairplot函数、PairGrid函数、FacetGrid函数的简介、使用方法之最强攻略(建议收藏)

二、组合图可视化

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,
                  )

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多