• 绘制矩阵散点图


    什么是矩阵散点图

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

    绘制矩阵散点图

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

  • 相关阅读:
    PMP是什么?
    Kafka多语言版本
    需要打开多少监控器
    这套软件测试笔试试卷、能拿满分的至少都是月薪30K的
    SpringBoot可以同时处理多少请求?
    网课查题公众号如何搭建查题系统
    .NET分布式Orleans - 9 - 贪吃蛇项目演示
    lnmp环境安装ffmpeg,并在Yii2中使用
    Excel 数据透视表教程大全之 03 刷新数据、添加多个字段作为值字段、值显示为总数的百分
    Android targetSdkVersion改成33遇到的坑
  • 原文地址:https://www.cnblogs.com/slbaba/p/17662032.html