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 还提供…...
大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
MySQL 8.0 事务全面讲解
以下是一个结合两次回答的 MySQL 8.0 事务全面讲解,涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容,并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念(ACID) 事务是…...
Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...
