我是靠谱客的博主 纯真康乃馨,最近开发中收集的这篇文章主要介绍Seaborn:直方图/密度图,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

    • 1.直方图(sns.distplot)
    • 2.密度图(sns.kdeplot)
      • 单样本密度图
      • 双样本数据密度图
      • 多个密度图

1.直方图(sns.distplot)

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline

sns.set_style('white')#设置绘图风格
sns.set_context('notebook')#设置尺寸

#直方图
s = pd.Series(np.random.randn(100))

sns.distplot(s,
            bins=10,#柱子的个数
            hist=True,#是否绘制直方图
            kde=True,#是否绘制密度图
            rug=True,#数据分布标尺
            fit=None,
            hist_kws=None,
            kde_kws=None,
            rug_kws=None,
            fit_kws=None,
            color='r',#颜色
            vertical=False,#是否水平绘制
            norm_hist=False,#标准化,kde为True时自动标准化
            axlabel=None,#x轴标注
            label=None,#图例标签,通过plt.legend()显示
            ax=None,
            )

在这里插入图片描述

# 颜色详细设置

sns.distplot(s,rug = True, 
            rug_kws = {'color':'g'} ,   
            # 设置数据频率分布颜色
            kde_kws={"color": "k", "lw": 1, "label": "KDE",'linestyle':'--'},   
            # 设置密度曲线颜色,线宽,标注、线形
            hist_kws={"histtype": "step", "linewidth": 1,"alpha": 1, "color": "g"})  
            # 设置箱子的风格、线宽、透明度、颜色
            # 风格包括:'bar', 'barstacked', 'step', 'stepfilled'

在这里插入图片描述

2.密度图(sns.kdeplot)

单样本密度图

# 单个样本数据密度分布图

sns.kdeplot(s,
           shade = True,  # 是否填充
           color = 'r',   # 设置颜色
           vertical = False  # 设置是否水平
           )

sns.kdeplot(s,bw=5, label="bw: 0.2",
            linestyle = '-',linewidth = 1.2,alpha = 0.5)
sns.kdeplot(s,bw=20, label="bw: 2",
            linestyle = '-',linewidth = 1.2,alpha = 0.5)
# bw → 控制拟合的程度,类似直方图的箱数

sns.rugplot(s,height = 0.1,color = 'k',alpha = 0.5)
# 数据频率分布图

在这里插入图片描述

双样本数据密度图

# 两个样本数据密度分布图

rs = np.random.RandomState(2)  # 设定随机数种子
df = pd.DataFrame(rs.randn(100,2),
                 columns = ['A','B'])
sns.kdeplot(df['A'],df['B'],
           cbar = True,    # 是否显示颜色图例
           shade = True,   # 是否填充
           cmap = 'Reds',  # 设置调色盘
           shade_lowest=False,  # 最外围颜色是否显示
           n_levels = 10   # 曲线个数(如果非常多,则会越平滑)
           )
# 两个维度数据生成曲线密度图,以颜色作为密度衰减显示

sns.rugplot(df['A'], color="g", axis='x',alpha = 0.5)
sns.rugplot(df['B'], color="r", axis='y',alpha = 0.5)
# 注意设置x,y轴

在这里插入图片描述

多个密度图

# 两个样本数据密度分布图
# 多个密度图

rs1 = np.random.RandomState(2)  
rs2 = np.random.RandomState(5)  
df1 = pd.DataFrame(rs1.randn(100,2)+2,columns = ['A','B'])
df2 = pd.DataFrame(rs2.randn(100,2)-2,columns = ['A','B'])
# 创建数据

sns.kdeplot(df1['A'],df1['B'],cmap = 'Greens',
            shade = True,shade_lowest=False)
sns.kdeplot(df2['A'],df2['B'],cmap = 'Blues',
            shade = True,shade_lowest=False)
# 创建图表

在这里插入图片描述

最后

以上就是纯真康乃馨为你收集整理的Seaborn:直方图/密度图的全部内容,希望文章能够帮你解决Seaborn:直方图/密度图所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(201)

评论列表共有 0 条评论

立即
投稿
返回
顶部