Seaborn - 刻面网格

  • 简述

    探索中维数据的一种有用方法是在数据集的不同子集上绘制同一图的多个实例。
    这种技术通常被称为“格子”或“格子”绘图,它与“小倍数”的概念有关。
    要使用这些功能,您的数据必须位于 Pandas DataFrame 中。
  • 绘制小倍数的数据子集

    在上一章中,我们已经看到了 FacetGrid 示例,其中 FacetGrid 类有助于可视化一个变量的分布,以及使用多个面板在数据集子集中分别显示多个变量之间的关系。
    一个 FacetGrid 最多可以绘制三个维度 - 行、列和色调。前两个与生成的轴数组有明显的对应关系;将色调变量视为沿深度轴的第三个维度,其中不同的级别用不同的颜色绘制。
    FacetGrid对象将数据框作为输入,变量的名称将形成网格的行、列或色调维度。
    变量应该是分类的,变量每个级别的数据将用于沿该轴的一个方面。

    例子

    
    import pandas as pd
    import seaborn as sb
    from matplotlib import pyplot as plt
    df = sb.load_dataset('tips')
    g = sb.FacetGrid(df, col = "time")
    plt.show()
    

    输出

    图表
    在上面的例子中,我们刚刚初始化了facetgrid不会在其上绘制任何东西的对象。
    在此网格上可视化数据的主要方法是使用FacetGrid.map()方法。让我们使用直方图查看每个子集中的提示分布。

    例子

    
    import pandas as pd
    import seaborn as sb
    from matplotlib import pyplot as plt
    df = sb.load_dataset('tips')
    g = sb.FacetGrid(df, col = "time")
    g.map(plt.hist, "tip")
    plt.show()
    

    输出

    分化
    由于参数 col 的原因,图的数量不止一个。我们在前面的章节中讨论了 col 参数。
    要制作关系图,请传递多个变量名称。

    例子

    
    import pandas as pd
    import seaborn as sb
    from matplotlib import pyplot as plt
    df = sb.load_dataset('tips')
    g = sb.FacetGrid(df, col = "sex", hue = "smoker")
    g.map(plt.scatter, "total_bill", "tip")
    plt.show()
    

    输出

    比率