关系(三)利用python绘制相关矩阵图

关系(三)利用python绘制相关矩阵图

相关矩阵图(Correlogram)简介

1

相关矩阵图既可以分析每对变量之间的相关性,也可以分析单变量的分布情况。相关性以散点图的形式可视化,对角线用直方图/密度图表示每个变量的分布。

快速绘制

  1. 基于seaborn

    import seaborn as sns
    import matplotlib.pyplot as plt# 导入数据
    df = sns.load_dataset('iris')# 利用pairplot函数绘制相关矩阵图
    sns.pairplot(df)plt.show()
    

    2

  2. 基于matplotlib

    import matplotlib.pyplot as plt# 导入数据
    df = sns.load_dataset('iris')# 定义基本变量
    COLUMNS = ["sepal_length", "sepal_width", "petal_length", "petal_width"]
    COLORS = ["#386cb0", "#fdb462", "#7fc97f"]
    SPECIES = ["setosa", "versicolor", "virginica"]# 初始化布局4*4
    fig, axes = plt.subplots(4, 4, figsize = (12, 8), sharex="col", tight_layout=True)for i in range(len(COLUMNS)):for j in range(len(COLUMNS)):# 下三角添加散点图if i > j:for species, color in zip(SPECIES, COLORS):data = df[df["species"] == species]axes[i, j].scatter(COLUMNS[j], COLUMNS[i], color=color, alpha=0.5, data=data)# 对角线添加直方图if i == j:for species, color in zip(SPECIES, COLORS):data = df[df["species"] == species]axes[i, j].hist(COLUMNS[j], bins=15, alpha=0.5, data=data)# 上三角剔除边框if i < j:axes[i, j].remove()plt.show()
    

    3

定制多样化的相关矩阵图

自定义相关矩阵图一般是结合使用场景对相关参数进行修改,并辅以其他的绘图知识。参数信息可以通过官网进行查看,其他的绘图知识则更多来源于实战经验,大家不妨将接下来的绘图作为一种学习经验,以便于日后总结。

seaborn主要利用pairplot绘制相关矩阵图,可以通过seaborn.pairplot了解更多用法

import seaborn as sns
import matplotlib.pyplot as plt# 导入数据
df = sns.load_dataset('iris')# 自定义参数
sns.pairplot(df, kind="scatter",  # 散点图,不带拟合线hue="species",   # 对species进行分组(不同颜色)plot_kws=dict(s=80, edgecolor="white", linewidth=2.5) # 自定义绘制参数)
plt.show()

4

也可以利用PairGrid自定义更为灵活的相关矩阵图,可以通过seaborn.pairplot了解更多用法

import seaborn as sns
import matplotlib.pyplot as plt# 导入数据
df = sns.load_dataset('iris')g = sns.PairGrid(df, diag_sharey=False)
# 上三角散点图
g.map_upper(sns.scatterplot)
# 下三角密度图
g.map_lower(sns.kdeplot)
# 对角线密度图
g.map_diag(sns.kdeplot)plt.show()

5

总结

以上通过seaborn的pairplot快速绘制相关矩阵图,也可以利用matplotlib自定义绘制相关矩阵图。并通过修改参数或者辅以其他绘图知识自定义各种各样的相关矩阵图来适应相关使用场景。

共勉~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/601319.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI智能分析盒子在工地的应用,提高工地管理效率和安全性

工地ai智能分析盒子是一种基于人工智能视觉分析技术的人工智能盒子&#xff0c;旨在提升工地作业区域的管理效率和保障作业人员的安全。通过最前沿的AI视觉算法、大数据&#xff0c;能够实时监控工地现场视频流画面&#xff0c;对施工工地人员的工作着装及日常作业行为进行规范…

Mysql底层原理十:Redo log

3.7 Redo log Redo log记录的是物理日志&#xff0c;具体就是哪个表空间&#xff0c;哪个数据页&#xff0c;哪个偏移量&#xff0c;改了几个字节&#xff0c;改成什么表空间号数据页号偏移量修改几个字节的值具体的值 3.7.1 Redo block &#xff08;批处理缓存&#xff09;…

2023年全球热门编程语言排行榜

2023年全球热门编程语言top排行榜&#xff0c;数据来源stackoverflow。 排名前三分别为 JavaScript&#xff0c; HTML/CSS, Python. Top20排行榜 2023年全球编程语言TOP排行榜 总版 语言名称 百分比 JavaScript 63.61% HTML/CSS 52.97% Python 49.28% SQL 48.66% Type…

Databend 开源周报第 138 期

Databend 是一款现代云数仓。专为弹性和高效设计&#xff0c;为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务&#xff1a;https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展&#xff0c;遇到更贴近你心意的 Databend 。 支持多表插入 …

关于STM32单片机延时微妙(delay_us)函数-hal库

关于STM32单片机延时微妙&#xff08;delay_us&#xff09;函数-hal库 Chapter1 关于STM32单片机延时微妙&#xff08;delay_us&#xff09;函数-hal库delay_us 函数delay_ms 函数验证补充 Chapter1 关于STM32单片机延时微妙&#xff08;delay_us&#xff09;函数-hal库 原文链…

14届蓝桥杯省赛 C/C++ B组 T4 飞机降落 (DFS)

记录此题提醒自己&#xff0c;此类时间轴问题可以通过DFS解决 DFS不是能解决所有题吗 对于此题&#xff0c;我们将降落的飞机的个数和时间轴作为DFS的形参&#xff0c;这样可以节省手动回溯的过程。 并且在DFS的过程中我们要加入一些贪心策略&#xff0c;否则直接爆搜有可能搜…

精酿啤酒:酿造过程中的微生物控制与管理

在啤酒酿造过程中&#xff0c;微生物控制与管理是确保啤酒品质和口感的重要环节。Fendi Club啤酒在酿造过程中&#xff0c;对微生物的控制与管理有着严格的要求和杰出的技艺。 Fendi Club啤酒注重原料的微生物质量。他们了解不同原料中可能存在的微生物种类和数量&#xff0c;并…

安装 windows 版 dash —— zeal

1、下载安装 下载地址&#xff1a;Download Zeal 选择 Protable 版 直接使用 zeal 下载文档比较慢甚至失败&#xff0c;可以设置代理&#xff0c;也可以使用下面两种方式。 2、手动下载 docset 文档后导入 这种方法不能够选择文档的版本 &#xff08;1&#xff09;在 http://…

java/C#语言开发的医疗信息系统11套源码

java/C#语言开发的医疗信息系统11套源码 java医院云HI系统简介&#xff1a; SaaS模式Java版云HIS系统&#xff0c;融合B/S版电子病历系统&#xff0c;支持电子病历四级&#xff0c;云HIS系统是一款满足基层医院各类业务需要的健康云产品。该产品能帮助基层医院完成日常各类业务…

【第二十八篇】BurpSuite保存结果进行二次利用

文章目录 使用场景操作说明本篇讲解如何将BurpSuite爆破所得结果进行二次利用。 使用场景 1、假定某网站特性:无论密码是否正确,都会判断用户名是否存在,如果存在则回显密码错误或直接登录;如果用户名不存在则回显用户不存在。故可通过爆破模块,提取存在的用户名,再进行…

4.8QT

将按钮3&#xff0c;基于qt4版本连接实现点击按钮3&#xff0c;实现关闭窗口。 widget.cpp #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget), btn3(new QPushButton(this)) {ui->s…

React复习全攻略:重温旧知,收获新知

简介 大背景&#xff1a; 起源于 Facebook 的内部项目&#xff0c;因为对市面上所有JS MVC框架不满意&#xff0c;就自己开发了一套&#xff0c;用来开发Instagram项目。&#xff08;开源时间&#xff1a;2013年5月&#xff09; 三句话解释&#xff1a; 是用于构建 Web 和原…