Seaborn - 绘制分类数据

  • 简述

    在我们之前的章节中,我们了解了散点图、hexbin 图和 kde 图,它们用于分析研究中的连续变量。当研究的变量是分类变量时,这些图不适合。
    当研究中的一个或两个变量是分类变量时,我们使用像 striplot()、swarmplot() 等这样的图。Seaborn 提供了这样做的接口。
  • 分类散点图

    在本节中,我们将学习分类散点图。

    stripplot()

    当所研究的变量之一是分类变量时,使用 stripplot()。它表示沿任一轴的排序顺序的数据。

    例子

    
    import pandas as pd
    import seaborn as sb
    from matplotlib import pyplot as plt
    df = sb.load_dataset('iris')
    sb.stripplot(x = "species", y = "petal_length", data = df)
    plt.show()
    

    输出

    盒子
    在上图中,我们可以清楚地看到petal_length在每个物种中。但是,上述散点图的主要问题是散点图上的点重叠。我们使用“抖动”参数来处理这种情况。
    抖动会在数据中添加一些随机噪声。此参数将调整沿分类轴的位置。

    例子

    
    import pandas as pd
    import seaborn as sb
    from matplotlib import pyplot as plt
    df = sb.load_dataset('iris')
    sb.stripplot(x = "species", y = "petal_length", data = df, jitter = Ture)
    plt.show()
    

    输出

    点
    现在,可以很容易地看到点的分布。

    Swarmplot()

    可以用作“抖动”替代的另一个选项是功能swarmplot(). 此函数将散点图的每个点定位在分类轴上,从而避免重叠点 -

    例子

    
    import pandas as pd
    import seaborn as sb
    from matplotlib import pyplot as plt
    df = sb.load_dataset('iris')
    sb.swarmplot(x = "species", y = "petal_length", data = df)
    plt.show()
    

    输出

    阴影