Python—数据可视化Seaborn大全:参数详解与实战案例全解析【第52篇—python:Seaborn大全】
文章目录
- Seaborn库常用绘图详解与实战
- 引言
- 安装与导入
- 一、散点图
- 参数说明
- 实战案例
- 二、直方图
- 参数说明
- 实战案例
- 三、线性关系图
- 参数说明
- 实战案例
- 四、热力图
- 参数说明
- 实战案例
- 五、分布图
- 参数说明
- 实战案例
- 六、箱线图
- 参数说明
- 实战案例
- 七、联合分布图
- 参数说明
- 实战案例
- 八、小提琴图
- 参数说明
- 实战案例
- 九、成对关系图
- 参数说明
- 实战案例
- 十、自定义调色板
- 参数说明
- 实战案例
- 结语
Seaborn库常用绘图详解与实战
引言
Seaborn 是一个基于 Matplotlib 的数据可视化库,它提供了一些高层次的接口,使得绘图变得更加简单和美观。本文将深入探讨 Seaborn 库的常用绘图功能,包括详细的参数说明和实战案例,帮助读者更好地理解和运用 Seaborn 进行数据可视化。

安装与导入
首先,确保你已经安装了 Seaborn 库。如果没有安装,可以使用以下命令:
pip install seaborn
导入 Seaborn 通常使用以下方式:
import seaborn as sns
import matplotlib.pyplot as plt
一、散点图
散点图是一种常用于展示两个变量之间关系的图表。在 Seaborn 中,我们可以使用 sns.scatterplot() 函数来绘制。
参数说明
x:x轴上的数据y:y轴上的数据hue:指定颜色变量style:指定样式变量size:指定点的大小变量
实战案例
import seaborn as sns
import matplotlib.pyplot as plt# 创建样本数据
data = sns.load_dataset("iris")# 绘制散点图
sns.scatterplot(x="sepal_length", y="sepal_width", hue="species", style="species", size="petal_length", data=data)# 显示图例
plt.legend()
plt.title("散点图 - 花萼长度与宽度关系")
plt.show()

二、直方图
直方图用于显示数据分布情况,Seaborn 中的 sns.histplot() 函数可以很方便地绘制直方图。
参数说明
data:数据集x:x轴上的数据hue:指定颜色变量multiple:当有 hue 参数时,控制多层直方图的显示方式
实战案例
import seaborn as sns
import matplotlib.pyplot as plt# 创建样本数据
data = sns.load_dataset("tips")# 绘制直方图
sns.histplot(data=data, x="total_bill", hue="sex", multiple="stack", kde=True)# 显示图例
plt.legend()
plt.title("总消费金额直方图 - 性别分布")
plt.show()
三、线性关系图
Seaborn 提供了 sns.regplot() 函数来绘制线性回归图,展示两个变量之间的线性关系。
参数说明
x:x轴上的数据y:y轴上的数据hue:指定颜色变量marker:指定数据点的标记scatter_kws:控制散点图的其他属性
实战案例
import seaborn as sns
import matplotlib.pyplot as plt# 创建样本数据
data = sns.load_dataset("tips")# 绘制线性关系图
sns.regplot(data=data, x="total_bill", y="tip", hue="sex", marker="o", scatter_kws={"s": 100})# 显示图例
plt.legend()
plt.title("线性关系图 - 消费金额与小费")
plt.show()
四、热力图
热力图是一种以颜色变化来显示数据矩阵的图表,常用于展示相关性或模式。Seaborn 中的 sns.heatmap() 函数是绘制热力图的利器。
参数说明
data:数据集,通常是一个二维矩阵cmap:指定颜色映射annot:在每个单元格显示数值linewidths、linecolor:控制单元格之间的线条宽度和颜色
实战案例
import seaborn as sns
import matplotlib.pyplot as plt# 创建样本数据
data = sns.load_dataset("flights")
pivot_data = data.pivot_table(index="month", columns="year", values="passengers")# 绘制热力图
sns.heatmap(data=pivot_data, cmap="YlGnBu", annot=True, linewidths=.5, linecolor="white")plt.title("月度乘客数热力图")
plt.show()
五、分布图
Seaborn 的 sns.distplot() 函数可以绘制直方图并拟合核密度估计,用于展示单变量的分布情况。
参数说明
a:绘制分布图的数据hist:是否显示直方图kde:是否显示核密度估计曲线rug:在 x 轴上绘制小的竖线,表示每个观测值的分布
实战案例
import seaborn as sns
import matplotlib.pyplot as plt# 创建样本数据
data = sns.load_dataset("iris")# 绘制分布图
sns.distplot(data["sepal_length"], hist=True, kde=True, rug=True)plt.title("花萼长度分布图")
plt.show()
六、箱线图
箱线图是一种展示数据分布的图表,Seaborn 中的 sns.boxplot() 函数可以绘制箱线图。
参数说明
x、y:数据集中的变量hue:指定颜色变量notch:是否绘制缺口箱线图whis:确定离群值的位置
实战案例
import seaborn as sns
import matplotlib.pyplot as plt# 创建样本数据
data = sns.load_dataset("tips")# 绘制箱线图
sns.boxplot(data=data, x="day", y="total_bill", hue="sex", notch=True, whis=1.5)plt.title("每天消费金额箱线图")
plt.show()
七、联合分布图
Seaborn 的 sns.jointplot() 函数可以绘制两个变量之间的联合分布图,同时展示单变量的分布情况。
参数说明
x、y:绘制联合分布图的两个变量kind:指定联合分布图的类型,可选值包括 “scatter”、“kde”、“hex” 等hue:指定颜色变量joint_kws:控制联合图的其他属性
实战案例
import seaborn as sns
import matplotlib.pyplot as plt# 创建样本数据
data = sns.load_dataset("iris")# 绘制联合分布图
sns.jointplot(data=data, x="sepal_length", y="sepal_width", kind="scatter", hue="species")plt.title("花萼长度与宽度联合分布图")
plt.show()

八、小提琴图
小提琴图是箱线图的一种变体,Seaborn 中的 sns.violinplot() 函数可以绘制小提琴图,展示数据的分布情况。
参数说明
x、y:数据集中的变量hue:指定颜色变量split:当有 hue 参数时,是否拆分小提琴图inner:指定小提琴图内部显示的内容
实战案例
import seaborn as sns
import matplotlib.pyplot as plt# 创建样本数据
data = sns.load_dataset("tips")# 绘制小提琴图
sns.violinplot(data=data, x="day", y="total_bill", hue="sex", split=True, inner="quartile")plt.title("每天消费金额小提琴图")
plt.show()

九、成对关系图
Seaborn 的 sns.pairplot() 函数用于绘制数据集中各个数值变量两两之间的散点图,对于多变量数据集的初步探索非常有帮助。
参数说明
data:数据集hue:指定颜色变量kind:指定对角线上显示的图表类型
实战案例
import seaborn as sns
import matplotlib.pyplot as plt# 创建样本数据
data = sns.load_dataset("iris")# 绘制成对关系图
sns.pairplot(data=data, hue="species", kind="scatter")plt.suptitle("花萼与花瓣特征成对关系图")
plt.show()
十、自定义调色板
Seaborn 允许用户使用自定义调色板,通过 sns.set_palette() 函数可以指定颜色的顺序。
参数说明
palette:调色板名称或颜色列表
实战案例
import seaborn as sns
import matplotlib.pyplot as plt# 创建样本数据
data = sns.load_dataset("tips")# 自定义调色板
custom_palette = ["#FF5733", "#33FF57", "#3357FF", "#FF33C2"]
sns.set_palette(custom_palette)# 绘制小提琴图
sns.violinplot(data=data, x="day", y="total_bill", hue="sex", split=True, inner="quartile")plt.title("每天消费金额小提琴图 - 自定义调色板")
plt.show()
结语
本文详细介绍了 Seaborn 库中一系列常用的绘图功能,包括散点图、直方图、线性关系图、热力图、分布图、箱线图、联合分布图、小提琴图、成对关系图以及自定义调色板。通过深入了解每个函数的参数及实战案例,读者应该能够更自如地使用 Seaborn 进行数据可视化。
Seaborn 提供了直观易用的高级接口,使得绘图变得更加简便,同时保持了高度的定制性。无论是初学者还是有一定经验的数据科学家,都可以在 Seaborn 中找到适合自己需求的工具。
在实际工作中,选择合适的图表类型、调整颜色和样式,都是提高数据可视化效果的关键。通过多次实践,读者将更加熟练地运用 Seaborn 进行数据分析,为数据的探索和展示提供更有力的支持。
希望本文能够帮助读者更深入地了解 Seaborn 库,激发大家在数据可视化领域的创造力,为数据科学的发展贡献一份力量。愿每个数据背后的故事都能在绚丽的图表中得以展现。
相关文章:
Python—数据可视化Seaborn大全:参数详解与实战案例全解析【第52篇—python:Seaborn大全】
文章目录 Seaborn库常用绘图详解与实战引言安装与导入一、散点图参数说明实战案例 二、直方图参数说明实战案例 三、线性关系图参数说明实战案例 四、热力图参数说明实战案例 五、分布图参数说明实战案例 六、箱线图参数说明实战案例 七、联合分布图参数说明实战案例 八、小提琴…...
手机上0.2秒出图、当前速度之最,谷歌打造超快扩散模型MobileDiffusion
目录 前言导读 论文介绍 模型优化 宏观设计 微观设计 实验与应用 移动端基准测试 下游任务测试 生图效果展示 总结 前言导读 在手机等移动端侧运行 Stable Diffusion 等文生图生成式 AI 大模型已经成为业界追逐的热点之一,其中生成速度是主要的制约因素。…...
浅谈WPF之UniformGrid和ItemsControl
在日常开发中,有些布局非常具有规律性,比如相同的列宽,行高,均匀的排列等,为了简化开发,WPF提供了UniformGrid布局和ItemsControl容器,本文以一个简单的小例子,简述,如何…...
SEO系列--robots.txt的用法
原文网址:SEO系列--robots.txt的用法-CSDN博客 简介 本文介绍网站的robots.txt文件的用法。 Robots是站点与搜索引擎爬虫沟通的重要渠道,站点通过robots文件声明本网站中不想被搜索引擎抓取的部分或者只让搜索引擎抓取指定内容。 搜索引擎使用spider…...
环形链表(快慢指针)
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环…...
vue day06
1、路由模块封装 2、声明式导航 实现导航高亮效果 直接通过这两个类名对相应标签设置样式 点击a链接进入my页面时,a链接 我的音乐高亮,同时my下的a、b页面中的 我的音乐也有router-link-active类,但没有精确匹配的类(只有my页…...
ffmpeg 输入文件,输入出udp-ts 指定pid、Programid ts流参数
要使用FFmpeg将输入文件转换为UDP传输流(TS)并指定特定的PID、Program ID以及其他TS流参数,您可以使用以下命令: ffmpeg -i input_file -c:v libx264 -preset ultrafast -tune zerolatency -f mpegts -map 0:v:0 -map 0:a:0 -pid …...
操作系统透视:从历史沿革到现代应用,剖析Linux与网站服务架构
目录 操作系统 windows macos Linux 服务器搭建网站 关于解释器的流程 curl -I命令 名词解释 dos bash/terminal,(终端) nginx/apache(Linux平台下的) iis(Windows平台下的) GUI(图形化管理接口ÿ…...
金蝶82新建员工信息维护菜单,并新建导入模板,导入时出现不能在此处导入模板
原因:82版本bug,校验了所有T_BS_SHRFileTemplate中 FDATANUMBER001的uipk 只要任意一个模板里面不包含当前列表的uipk就会抛出异常 解决办法: 将当前列表uipk加到其他FDATANUMBER001的模板中 例如: update T_BS_SHRFileTemplate set FU…...
套你npm镜像
套你npm镜像 大天才,给我错误镜像信息,然后npm install卡住!! gpt生成的淘宝镜像地址: https://registry.npm.taobao.org/安装情况:卡死如下… 正确镜像地址: # 更换npm config set registry…...
[网络安全]IIS---FTP服务器 、serverU详解
一 . FTP服务器(File Transfor Protocol) : 协议:文件传输协议 端口号:TCP: 20(数据) / 21(控制) 二 . FTP工作方式: 1.主动模式 : (FTP服务器21端口与FTP客户端产生的随机端口先建立连接 建立连接后,再使用FTP服务器21端口与FTP客户端创建的一个新的随机端口进行发送…...
校园自助洗浴设施运维服务认证的介绍
校园自助洗浴设施运维服务认证是一种针对校园自助洗浴设施运维服务质量的评估和认证体系。通过该认证,学校可以确保自助洗浴设施的安全、可靠、卫生和持续运行,为师生提供更好的洗浴体验。 自助洗浴设施运维服务通常包括的具体工作: 1.设备维…...
NetCore iText7 根据PDF模板 导出PDF文件
iText 7 是一个用于处理 PDF 文件的流行的开源库,它提供了丰富的功能,包括创建、编辑和处理 PDF 文档。它支持 .NET 平台,因此可以在 .NET Core 中使用该库来处理 PDF 文件。 使用 iText 7,您可以进行以下操作: 1. 创…...
Notion 开源替代品:兼容 Miro 绘图 | 开源日报 No.162
toeverything/AFFiNE Stars: 25.6k License: NOASSERTION AFFiNE 是下一代知识库,将规划、排序和创建集于一身。它是一个注重隐私、开源、可定制且即插即用的替代方案,可以与 Notion 和 Miro 相媲美。主要功能和优势包括: 超融合࿱…...
LangChain 81 LangGraph 从入门到精通三
LangChain系列文章 LangChain 60 深入理解LangChain 表达式语言23 multiple chains链透传参数 LangChain Expression Language (LCEL)LangChain 61 深入理解LangChain 表达式语言24 multiple chains链透传参数 LangChain Expression Language (LCEL)LangChain 62 深入理解Lang…...
Python学习从0到1 day13 Python数据容器.4.set集合、dict字典,映射
他往黑夜里去了,我陪他 ——24.2.4 一、set集合 1.为什么使用集合? 通过特性来分析: 列表可修改、支持重复元素且有序 元组、字符串不可修改、支持重复元素且有序 局限在于:它们都支持重复元素 当场景需要对内容进行去重处理&am…...
Java生成微信小程序二维码的方式有哪些?
大家好我是咕噜美乐蒂,很高兴又见面啦!今天我们来谈一下如何使用Java生成微信小程序二维码,有哪些方式方法呢? 生成微信小程序二维码是开发微信小程序时的常见需求之一。在Java中,我们可以使用多种方式来生成微信小程…...
一箭11星,吉利未来出行星座第二个轨道面部署完成!
临近春节,国内卫星产业又传来好消息! 2024年2月3日7时37分,11颗卫星通过长征二号丙运载火箭,在西昌卫星发射中心发射升空。火箭顺利将所有卫星送入预定轨道,所有卫星状态正常,发射任务获得圆满成功。 本次发…...
【持续学习系列(九)】《Continual Learning with Pre-Trained Models: A Survey》
一、论文信息 1 标题 Continual Learning with Pre-Trained Models: A Survey 2 作者 Da-Wei Zhou, Hai-Long Sun, Jingyi Ning, Han-Jia Ye, De-Chuan Zhan 3 研究机构 National Key Laboratory for Novel Software Technology, Nanjing University; School of Artifici…...
redis的AOF
redis 提供了两种持久化方式—— RDB(Redis DataBase) 和 AOF(Append Only File) ,可以将 Redis 在内存中的数据库状态保存到磁盘里。 RDB快照并不是很可靠。如果服务器突然宕机了,最新的数据就会丢失。除了 RDB 持久化功能之外,Redis 还提供…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...
【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...
