Seaborn图表使用指南!
目录
- 介绍
- 线图
- 散点图
- 直方图
- 概率密度函数 (PDF)
- 箱线图
- 小提琴剧情
- 配对图
- 热图
- 关节图
- 地毯图
一、介绍
数据科学已成为一个突出的领域,近年来呈爆炸性增长。对精通从数据中获取见解并应用这些见解来解决现实世界问题的数据科学家的需求从未增加。使用图形、图表和其他表示形式可视化数据是一种从此信息中获取见解的技术。
Seaborn 是一个 Python 库,它允许我们绘制图表和绘图,帮助我们从数据中提取有用的见解。本博客的目的是提供它们的概述。话不多说,让我们开始吧。我们将使用 Iris 数据集进行可视化。您可以在此处找到数据。
二、导入数据和处理数据
请注意,如果您在 Kaggle 笔记本以外的任何地方运行它,您可能必须将 Iris.csv 文件的本地地址放在上面的函数中。如果您还没有文件,请从上面的链接下载该文件。
#Importing Libraries
import numpy as np
import pandas as pd
import seaborn as sns#Getting the data in pandas DataFrame Format
data = pd.read_csv('/kaggle/input/iris/Iris.csv')
data.head() #Printing first 5 values in the dataset

数据集的前 5 个值。(来源:作者)
萼片长度厘米和萼片宽度厘米是鸢尾花萼片的长度和宽度,以厘米为单位计算。同样,PetallLengthCm和PetallWidthCm是鸢尾花花瓣的长度和宽度,以厘米为单位。物种表示花的种类。鸢尾有三种类型:鸢尾属、弗吉尼亚鸢尾和杂色鸢尾。
三、生成线图
在此图中,通过将两个变量(x 和 y)绘制在 2D 图上并将它们连接来显示它们之间的关系。它显示了变量如何随时间变化。线图有多种用途,包括研究动态变量(随时间变化)、查找模式和跟踪趋势。我们可以使用线图函数生成线图。
#Creating a line plot between Sepal Length and Sepal Width of all the #species sns.lineplot(data=data,x = 'SepalLengthCm',y='SepalWidthCm')

线图(来源:作者)
#We can also plot separate line plots for each of the species. sns.lineplot(data=data,x = 'SepalLengthCm',y='SepalWidthCm',hue = 'Species')

所有类别的单独线图(来源:作者)
四、散点图
散点图类似于折线图,但首选静态变量(不会随时间变化)。基本上,它将所有点绘制在 2D 图形上。散点图用于确定两个变量之间的相关性。我们可以通过散点图函数使用它。
#Generating a Scatter Plot of all the data points. sns.scatterplot(data=data,x = 'SepalLengthCm',y='SepalWidthCm')

散点图(来源:作者)
#We can also distinguish the points by their species sns.scatterplot(data=data,x = 'SepalLengthCm',y='SepalWidthCm',hue = 'Species')

所有类别的散点图(来源:作者)
五、直方图
直方图是最重要的图之一,可用于多种用途,包括检测数据中的异常值、偏度和方差。每个条形显示落在 x 轴上特定范围下的数据点的频率/数量。我们可以使用 histplot 函数绘制直方图。
#Plotting histogram for all the species sns.histplot(data=data,x='SepalLengthCm')

直方图(来源:作者)
#Plotting histograms for each species sns.histplot(data=data,x='SepalLengthCm',hue='Species')

单个物种的直方图(来源:作者)
六、概率密度函数 (PDF)
概率密度函数计算在值范围内找到随机变量的概率。此方法的目的是确定变量属于哪个分布。通过揭示变量属于哪个分布,我们可以选择最有效的机器学习模型在变量上运行,以获得最准确的结果。我们使用核密度估计来计算概率密度函数。我们可以使用 kdeplot 函数绘制它。
#Plotting the probability density function for Petal Length of all species sns.kdeplot(data=data,x='PetalLengthCm')

概率密度函数(来源:作者)
#Plotting the probability density function for Petal Length for #individual species sns.kdeplot(data=data,x='PetalLengthCm',hue='Species')

单个物种的概率密度函数(来源:作者)
从上图可以看出,Iris-Setosa的概率密度函数与其他物种没有重叠。因此,鸢尾花可以很容易地与其他物种区分开来。
七、箱线图
箱形图为我们提供了有关数据的五个见解,它们是:
- 下限 — 告诉我们数据集中的最小值
- 上限 — 为我们提供数据集中的最大值
下限和上限极值可用于检测异常值。
- 上四分位数 — 为我们提供数据集的第 75 个百分位数,即 75% 的数据落下的值(按升序排列时)。
- 下四分位数 — 为我们提供数据集的第 25 个百分位数,即 25% 的数据落下的值(按升序排列时)。
该框(下四分位数到上四分位数)称为四分位数范围。
- 中位数 — 为我们提供数据集的中位数
请参阅下面的箱形图以清晰理解。

箱形图(来源:作者)
#Plotting boxplot for individual species sns.boxplot(data=data,y='PetalLengthCm',x='Species')

单个物种的箱形图(来源:作者)
八、小提琴图
小提琴图类似于箱线图,但也指示变量的概率密度函数。这使它看起来像一把小提琴。您可以使用小提琴绘图功能绘制它。
请参阅下面的小提琴图以清晰理解。

小提琴剧情(来源:作者)
#Plotting violinplot for individual species sns.violinplot(data=data,y='PetalLengthCm',x='Species')

单个物种的小提琴图(来源:作者)
九、配对图
配对图允许我们绘制所有非分类变量的成对散点图。对于 x 轴和 y 轴上的相同变量,我们得到变量的直方图/概率密度函数。由于它将所有图绘制在一起,因此分析每个特征及其与其他特征的相关性变得非常容易。当数据集包含大量要素时,不建议使用成对图,因为它们需要相当长的时间来绘制。您可以使用配对图函数绘制配对图。
#Plotting pairplot sns.pairplot(data=data)

配对图(来源:作者)
#Plotting the pair plots for individial species sns.pairplot(data=data,hue='Species')

单个物种的配对图(来源:作者)
十、热图
热图通常用于研究数值变量的相关性。每个单元格都有一个颜色,表示两个变量之间的相关性。色调较深的颜色表示变量之间的高正相关,而色调较浅的颜色表示变量之间的高负相关。您可以使用热图功能绘制热图。
#Plotting the heatmap sns.heatmap(data=data.corr(), annot=True,cmap = "GnBu")

热图(来源:作者)
从热图中,我们知道具有高度相关性的货币对是:
- 花瓣长度和萼片长度
- 萼片长度和花瓣宽度
- 花瓣长度和花瓣宽度
此外,我们观察到所有对角线元素的相关性均为 1。这是因为这些平方与相同的变量相关,因此它是完美的相关性。
十一、关节图
在两个变量(x 和 y)的联合图中,我们绘制了两个变量的散点图和直方图/概率密度函数。联合图可用于单变量和双变量分析。
联合图 = 散点图 + 两个变量的直方图/概率密度函数。
#Plotting joint plot of Sepal Width and Petal Length sns.jointplot(data=data,x='PetalLengthCm',y='SepalWidthCm')

联合剧情(来源:作者)
#Plotting joint plot for individual species sns.jointplot(data=data,x='PetalLengthCm',y='SepalWidthCm',hue='Species')

单个物种的联合图(来源:作者)
十二、地毯图
与联合图类似,地毯图可用于单变量和双变量分析。地毯图显示了变量在 x 轴和 y 轴上的边际分布。可以为单个变量和多个变量绘制地毯图。
#Plotting rug plot for only Petal length for individual species sns.rugplot(data=data,x='PetalLengthCm',hue='Species')

单个变量的地毯图(来源:作者)
#Plotting rug plot for only Petal length and Sepal Length for individual #species sns.rugplot(data=data,x='PetalLengthCm',y='SepalLengthCm',hue='Species')

两个变量的地毯图(来源:作者)
十三、结论
对于单变量分析,我们可以使用
- 线图
- 箱线图
- 小提琴剧情
- 概率密度函数
- 直方图
- 联合情节
- 地毯图
对于双变量分析,我们可以使用
- 配对图
- 散布图
- 联合情节
- 热图
- 地毯图
相关文章:
Seaborn图表使用指南!
目录 介绍线图散点图直方图概率密度函数 (PDF)箱线图小提琴剧情配对图热图关节图地毯图 一、介绍 数据科学已成为一个突出的领域,近年来呈爆炸性增长。对精通从数据中获取见解并应用这些见解来解决现实世界问题的数据科学家的需求从未增加。…...
[C++ 网络协议编程] TCP/IP协议
目录 1. TCP/IP协议栈 2. TCP原理 2.1 TCP套接字中的I/O缓冲 2.2 TCP工作原理 2.2.1 三次握手(连接) 2.2.2 与对方主机的数据交换 2.2.3 四次握手(断开与套接字的连接) TCP(Transmission Control Protocol传输控…...
Unity用NPOI创建Exect表,保存数据,和修改删除数据。以及打包后的坑——无法打开新创建的Exect表
先说坑花了一下午才找到解决方法解决, 在Unity编辑模式下点击物体创建对应的表,获取物体名字与在InputText填写的注释数据。然后保存。创建Exect表可以打开,打包PC后,点击物体创建的表,打不开文件破损 解决方法&#…...
记一次fegin调用的媒体类型问题
1.问题:分页查询,分页参数传递不生效 2.开发环境:fegin接口 开发环境:调用接口 3.修改后:fegin接口不变 调用接口 前端媒体类型: 问题解决!!! 4.原因分析&…...
在Hive/Spark上运行执行TPC-DS基准测试 (ORC和TEXT格式)
目前,在Hive/Spark上运行TPC-DS Benchmark主要是通过早期由Hortonworks维护的一个项目:hive-testbench 来完成的。本文我们以该项目为基础介绍一下具体的操作步骤。不过,该项目仅支持生成ORC和TEXT格式的数据,如果需要Parquet格式,请参考此文《在Hive/Spark上执行TPC-DS基…...
如何仿写简易tomcat 实现思路+代码详细讲解
仿写之前,我们要搞清楚都要用到哪些技术 自定义注解,比如Tomcat使用的是Servlet,我们可以定义一个自己的MyServlet构造请求体和返回体,比如tomcat使用HttpRequest,我们可以自己定义myHttpRequestjava去遍历一个指定目…...
如何提高深度学习性能
可用于 对抗过度拟合并获得更好泛化能力的20 个提示、技巧和技术 如何从深度学习模型中获得更好的性能? 这是我最常被问到的问题之一。 可能会被问为: 如何提高准确率? ……或者可以反过来说: 如果我的神经网络表现不佳该怎么办? 我经常回答说:“我不太清楚,但我有很…...
ECMAScript版本对比:从ES1到ES2021
引言 ECMAScript(简称ES)是一种用于编写Web前端JavaScript的标准化语言。自1997年发布第一版(ES1)以来,ECMAScript已经经历了多个版本的更新和演进。每个版本都引入了新的语法和功能,为开发人员提供了更强…...
设计HTML5表格
在网页设计中,表格主要用于显示包含行、列结构的二维数据,如财务表格、调查数据、日历表、时刻表、节目表等。在大多数情况下,这类信息都由列标题或行标题及数据构成。本章将详细介绍表格在网页设计中的应用,包括设计符合标准化的…...
神经网络基础-神经网络补充概念-60-卷积步长
概念 在深度学习中,卷积步长(convolution stride)是指在卷积操作中滑动卷积核的步幅。卷积操作是神经网络中常用的操作之一,用于从输入数据中提取特征。步长决定了卷积核在输入数据上的滑动间隔,从而影响输出特征图的…...
怎么开通Tik Tok海外娱乐公会呢?
TikTok作为全球知名的社交媒体平台,吸引了数亿用户的关注和参与。许多公司和个人渴望通过开通TikTok直播公会进入这一领域,以展示自己的创造力和吸引更多粉丝。然而,成为TikTok直播公会并非易事,需要满足一定的门槛和申请找cmxyci…...
Java接口压力测试—如何应对并优化Java接口的压力测试
导言 在如今的互联网时代,Java接口压力测试是评估系统性能和可靠性的关键一环。一旦接口不能承受高并发量,用户体验将受到严重影响,甚至可能导致系统崩溃。因此,了解如何进行有效的Java接口压力测试以及如何优化接口性能至关重要…...
Coremail参与编制|《信创安全发展蓝皮书——系统安全分册(2023年)》
信创安全发展蓝皮书 近日,Coremail参与编制的《信创安全发展蓝皮书—系统安全分册(2023年)》重磅发布。 此次信创安全发展蓝皮书由工业和信息化部电子第五研究所联合大数据协同安全技术国家工程研究中心重磅共同发布。 本次蓝皮书涵盖信创系…...
分布式 - 消息队列Kafka:Kafka 消费者消息消费与参数配置
文章目录 1. Kafka 消费者消费消息01. 创建消费者02. 订阅主题03. 轮询拉取数据 2. Kafka 消费者参数配置01. fetch.min.bytes02. fetch.max.wait.ms03. fetch.max.bytes04. max.poll.records05. max.partition.fetch.bytes06. session.timeout.ms 和 heartbeat.interval.ms07.…...
批量爬虫采集大数据的技巧和策略分享
作为一名专业的爬虫程序员,今天主要要和大家分享一些技巧和策略,帮助你在批量爬虫采集大数据时更高效、更顺利。批量爬虫采集大数据可能会遇到一些挑战,但只要我们掌握一些技巧,制定一些有效的策略,我们就能在数据采集…...
Springboot 实践(7)springboot添加html页面,实现数据库数据的访问
前文讲解,项目已经实现了数据库Dao数据接口,并通过spring security数据实现了对系统资源的保护。本文重点讲解Dao数据接口页面的实现,其中涉及页面导航栏、菜单栏及页面信息栏3各部分。 1、创建html页面 前文讲解中,资源目录已经…...
Go中带标签的break/continue以及goto的差别
带标签的 continue: 直接跳到标签所标记的最外层循环的下一个迭代,忽略当前迭代剩余的代码。 带标签的 break: 直接跳出标签所标记的最外层循环,继续执行该循环之后的代码。 goto 关键字 goto 可以无条件地跳转到程序中指定的标…...
SaaS当然是一门好生意了啊
(1)SaaS关键特征 1、应用架构:多租户 2、部署:公有IaaS部署 3、商业模式:年度订阅续费 (2)用户云注册、用户在线付费 用户云注册、用户在线付费,站在中国乙方利益视角,多…...
ZooKeeper单机服务器启动
ZooKeeper服务器的启动,大体可以分为以下五个主要步骤:配置文件解析、初始化数据管理器、初始化网络I/O管理器、数据恢复和对外服务。下图所示是单机版ZooKeeper服务器的启动流程图。 预启动 预启动的步骤如下。 (1)统一由QuorumPeerMain作为启动类。 …...
Jenkins自动发送飞书消息
前言 公司办公软件用的是飞书套壳,本文主要介绍如何通过飞书机器人发送Jenkins构建的进度和消息。 方法 前置条件 创建一个飞书机器人搭建好Jenkins创建好构建任务 过程 根据飞书开发者平台的接口文档,用shell脚本封装一套调用飞书机器人发送消息接…...
深度测评:2026年最值得拥有的专业降AI率工具
2026年论文降AI率工具已从“基础修改”升级为智能化、多维度的学术合规解决方案,核心评价维度涵盖AIGC识别精度、文本自然度、文献真实性、格式合规性、查重适配性及多语言支持。本次测评涵盖6款主流工具,覆盖中英文写作、全流程与专项优化、免费与付费模…...
Ostrakon-VL-8B效果展示:AI识别货架商品、检查消防通道真实案例
Ostrakon-VL-8B效果展示:AI识别货架商品、检查消防通道真实案例 1. 零售行业的视觉智能革命 走进任何一家超市或餐厅,你都会看到员工忙碌地进行各种检查:商品是否摆放整齐、货架是否需要补货、消防通道是否畅通。这些看似简单的工作&#x…...
TrafficMonitor插件系统:5个技巧打造你的个性化Windows监控中心
TrafficMonitor插件系统:5个技巧打造你的个性化Windows监控中心 【免费下载链接】TrafficMonitorPlugins 用于TrafficMonitor的插件 项目地址: https://gitcode.com/gh_mirrors/tr/TrafficMonitorPlugins 想要让Windows任务栏上的TrafficMonitor变得更加强大…...
递归对抗驱动的活系统:九层架构设计理念与理论体系构建【世毫九实验室原创理论】
递归对抗驱动的活系统:九层架构设计理念与理论体系构建方见华世毫九实验室摘要本文提出完整的活系统理论框架,以“系统持续生存与自主演化”为核心第一性原理,突破传统复杂系统、人工智能与偏微分方程理论中“追求稳定、消除矛盾、收敛最优”…...
3步轻松让老旧Mac电脑升级最新macOS焕发新生
3步轻松让老旧Mac电脑升级最新macOS焕发新生 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 老旧Mac电脑升级最新macOS不再是难题!OpenCore Legacy Patcher是一…...
Allegro PCB Design GXL (legacy) - 动态网格铜的避让技巧
1. 动态网格铜的基础概念 在PCB设计中,铜皮处理是影响电路性能的关键环节。Allegro PCB Design GXL (legacy)作为业界常用的EDA工具,提供了静态铜和动态铜两种处理方式。静态网格铜就像一块固定形状的铁板,不会自动适应周围环境;而…...
MinerU-Diffusion:文档OCR解码提速3.2倍新方案
MinerU-Diffusion:文档OCR解码提速3.2倍新方案 【免费下载链接】MinerU-Diffusion-V1-0320-2.5B 项目地址: https://ai.gitcode.com/OpenDataLab/MinerU-Diffusion-V1-0320-2.5B 导语 MinerU-Diffusion框架通过将文档OCR重构为逆渲染问题,采用并…...
S2-Pro算法能力深度评测:在经典LSTM时间序列预测任务中的表现
S2-Pro算法能力深度评测:在经典LSTM时间序列预测任务中的表现 1. 评测背景与目标 时间序列预测一直是机器学习领域的经典难题,而LSTM作为处理序列数据的利器,被广泛应用于金融、气象、工业等领域。本次评测聚焦S2-Pro大模型在算法实现与优化…...
MinIO装好了然后呢?手把手教你配置S3客户端并上传第一个文件(Python/Go示例)
MinIO实战入门:从零配置到多语言文件操作指南 当你第一次登录MinIO控制台,面对空荡荡的界面可能会感到茫然——这就像拿到了一把万能钥匙却不知道门在哪里。本文将带你跨过"安装成功"到"实际使用"的鸿沟,从获取凭证到完成…...
Lychee Rerank MM惊艳效果:工业图纸图像与技术文档段落的跨模态重排序
Lychee Rerank MM惊艳效果:工业图纸图像与技术文档段落的跨模态重排序 1. 引言:当图纸遇见文字的多模态匹配革命 想象一下这样的场景:你手头有一张复杂的工业设备图纸,需要从海量技术文档中找到与之最匹配的说明段落。传统的关键…...
