当前位置: 首页 > news >正文

Python绘制对角矩阵代码分享

代码思路 

这段代码的主要思路是生成一个模拟的企鹅数据集,并使用Seaborn库中的可视化函数对其进行可视化。数据集包括四个数值列(嘴长度、嘴深度、鳍长和体重)和一个分类列(物种),其中包含三种可能的物种。为了模拟现实数据集,该数据集中还添加了一些缺失值。接下来,代码使用不同的Seaborn可视化函数来对数据集进行可视化,包括散点图矩阵、小提琴图和带有核密度估计曲线的散点图矩阵。这些图表可以帮助我们更好地了解数据集中的模式和关系,并帮助我们进行进一步的分析。

这段代码主要使用了以下三个Python库:

  1. pandas: 用于数据处理和分析,可以读取、处理和存储各种类型的数据,包括CSV、Excel等格式。

  2. numpy: 一个Python数学库,提供了大量的数学函数和方法,尤其是对于数组和矩阵的操作。

  3. seaborn: 基于matplotlib库的高级数据可视化库,提供了许多直观、美观和有用的图表类型和样式。Seaborn旨在使可视化更加简单和快捷,尤其适用于数据科学和统计分析。

Seaborn是一个基于matplotlib库的Python高级数据可视化库,旨在提供一组美观、直观和有用的图表类型和样式。它专为数据科学和统计分析而设计,可以轻松地创建各种类型的图表,包括散点图、折线图、条形图、热力图、小提琴图等。Seaborn具有以下特点:

  1. 美观:Seaborn提供了一套默认的颜色主题和样式,使得图表看起来更加精美和专业。

  2. 直观:Seaborn提供了许多易于理解的图表类型和样式,以帮助用户更好地理解数据集中的模式和关系。

  3. 有用:Seaborn提供了许多有用的图表类型和方法,例如回归分析、聚类分析、分布分析等,可以帮助用户进行深入的数据分析和探索。

  4. 简单快捷:Seaborn提供了简单而灵活的API,使得用户可以快速构建和修改各种类型的图表,并且可以与pandas等其他Python库集成使用。

总之,Seaborn是一个非常实用和强大的数据可视化工具,可以帮助用户更好地理解数据集中的模式和关系,并支持进行深入的数据分析和探索。

代码分享

import pandas as pd
import numpy as np# 创建示例数据集
data = {'species': ['Adelie', 'Chinstrap', 'Gentoo'] * 50,'bill_length_mm': np.random.normal(40, 5, 150),'bill_depth_mm': np.random.normal(17, 2, 150),'flipper_length_mm': np.random.normal(200, 20, 150),'body_mass_g': np.random.normal(4000, 500, 150)
}penguins = pd.DataFrame(data)# 将species列中的Chinstrap替换为NaN(为了在数据集中创建一些缺失值)
penguins['species'] = penguins['species'].replace('Chinstrap', np.nan)# 随机选择一些行并添加缺失值以模拟现实数据集
random_rows = np.random.choice(penguins.shape[0], size=10, replace=False)
penguins.loc[random_rows, 'bill_length_mm'] = np.nan
penguins.loc[random_rows, 'bill_depth_mm'] = np.nan
penguins.loc[random_rows, 'flipper_length_mm'] = np.nan
penguins.loc[random_rows, 'body_mass_g'] = np.nan# 保存数据集到CSV文件
penguins.to_csv('penguins_data.csv', index=False)import seaborn as sns
import matplotlib.pyplot as plt# 从CSV文件中加载数据集
penguins = pd.read_csv('penguins_data.csv')# 绘制散点图矩阵
sns.pairplot(penguins, hue="species", diag_kind="hist")# 显示图表
plt.show()
import seaborn as sns
import matplotlib.pyplot as plt# 从CSV文件中加载数据集
penguins = pd.read_csv('penguins_data.csv')# 绘制小提琴图
sns.violinplot(x='species', y='body_mass_g', data=penguins)# 显示图表
plt.show()import seaborn as sns
import matplotlib.pyplot as plt# 从CSV文件中加载数据集
penguins = pd.read_csv('penguins_data.csv')# 绘制散点图矩阵
g = sns.pairplot(penguins, diag_kind="kde")
g.map_lower(sns.kdeplot, levels=4, color=".2")# 显示图表
plt.show()

代码结果

相关文章:

  • 05 MyBatis之表关系的声明+事务+SqlSession三件套的作用域
  • flask_django基于python的城市轨道交通公交线路查询系统vue
  • Vue3的v-model说明和使用方法
  • 故障诊断 | 一文解决,CNN卷积神经网络故障诊断(Matlab)
  • Java中如何详细的打印出具体报错的堆栈信息
  • 数据库管理-第141期 DG PDB - Oracle DB 23c(20240129)
  • 统计学-R语言-7.3
  • ABAP EXCEL 转 PDF
  • node.js基础--01
  • 用C#实现最小二乘法(用OxyPlot绘图)
  • 用Python库pillow处理图像
  • Linux操作系统权限相关问题(一站式速通权限)
  • gdp调试—Linux
  • redis复习笔记05(小滴课堂)
  • 【乳腺肿瘤诊断分类及预测】基于LVQNN学习向量量化神经网络
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • angular学习第一篇-----环境搭建
  • echarts的各种常用效果展示
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • hadoop集群管理系统搭建规划说明
  • java8-模拟hadoop
  • Linux CTF 逆向入门
  • Mysql优化
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • Sass 快速入门教程
  • v-if和v-for连用出现的问题
  • vue2.0项目引入element-ui
  • vue脚手架vue-cli
  • 初识 beanstalkd
  • 记录:CentOS7.2配置LNMP环境记录
  • 技术:超级实用的电脑小技巧
  • 简单数学运算程序(不定期更新)
  • 力扣(LeetCode)56
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 怎样选择前端框架
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • # 数论-逆元
  • #QT(智能家居界面-界面切换)
  • #stm32整理(一)flash读写
  • (04)odoo视图操作
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (二)pulsar安装在独立的docker中,python测试
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (转)socket Aio demo
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .Net Core与存储过程(一)
  • .Net MVC + EF搭建学生管理系统
  • .NET 使用配置文件
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args