• 绘制矩阵散点图


    什么是矩阵散点图

    当我们想要探索两组变量之间的关系时,矩阵散点图是一种有用的可视化工具。它能够帮助我们快速地观察多个变量之间的关联性,特别是在统计分析和数据挖掘领域中。矩阵散点图实际上是由多个散点图组成的矩阵,每个散点图表示两个不同变量之间的关系。

    绘制矩阵散点图

    1.matplotlib绘制矩阵散点图

    matplotlib没有提供现成的库函数,但是可以通过创建子图然后绘制散点图的方式来绘制heatmap

    step1: 绘制多个子axe
    step2: for循环绘图(非对角线scatter图, 对角线什么其他图),同时还得注意label,哪些位置该显示label,哪些不显示

    import numpy as np
    import matplotlib.pyplot as plt
    import pandas as pd
    import seaborn as sns  # 仅用于数据加载
    
    # 加载数据集
    iris = sns.load_dataset('iris')
    
    # 选择要绘制的列
    columns = iris.columns[:-1]  # 去掉species列
    n = len(columns)
    
    fig, axarr = plt.subplots(n, n, figsize=(12, 12))
    
    # 用嵌套循环遍历每对变量
    for i in range(n):
        for j in range(n):
            ax = axarr[i, j]
            if i == j:
                # 对角线上的直方图
                ax.hist(iris[columns[i]], bins=10, edgecolor='k', color='gray')
            else:
                # 散点图
                ax.scatter(iris[columns[j]], iris[columns[i]], s=15)
            
            # 隐藏每个子图的x和y标签以避免混乱
            if j != 0:
                ax.set_yticklabels([])
                ax.set_ylabel('')
            if i != n-1:
                ax.set_xticklabels([])
                ax.set_xlabel('')
            if j == 0:
                ax.set_ylabel(columns[i])
            if i == n-1:
                ax.set_xlabel(columns[j])
    fig.suptitle('Pairs Plotting for Iris Data', size=30)
    plt.show()
    

    2. seaborn绘制矩阵散点图

    导入seaborn包,直接调用sns.pairplot()绘制矩阵散点图

    import seaborn as sns
    import matplotlib.pyplot as plt
    
    # 示例数据
    iris = sns.load_dataset('iris')
    
    # 创建矩阵散点图
    sns.pairplot(iris, hue='species')
    
    plt.show()
    

  • 相关阅读:
    linux sed操作汇总
    LVS和keepalived
    BigDecimal使用的时候需要注意什么?
    数据库表中创建字段查询出来却为NULL?
    Socket套接字(Java)
    Android 13 - Media框架(9)- NuPlayer::Decoder
    jar包导入到本地仓库无法引用
    第七章《Java的异常处理》第3节:异常的嵌套处理
    PyTorch 2.0 重磅发布:一行代码提速 30%
    mac pro M1(ARM)安装:.Net、C#开发环境
  • 原文地址:https://www.cnblogs.com/slbaba/p/17662032.html