Seaborn 基本语法及特点

news2025/1/25 9:07:50

文章目录

  • 简介
  • 图类型
    • 关系型图
    • 数据分布型图
    • 分类数据型图
    • 回归模型分析型图
    • 多子图网格型图
      • FacetGrid () 函数
      • PairGrid () 函数
    • 绘图风格、颜色主题和绘图元素缩放比例
      • 绘图风格
      • 颜色主题
      • 绘图元素缩放比例

简介

Seaborn 是 Python 中一个非常受用户欢迎的可视化库。Seaborn 在 Matplotlib 的基础上进行了更加高级的封装,用户能够使用极少的代码绘制出拥有丰富统计信息的科研论文配图。Seaborn 基于 Matplotlib,Matplotlib 中大多数绘图函数的参数都可在 Seaborn 绘图函数中使用,对 Python 的其他库(比如 Numpy/Pandas/Scipy)有很好的支持。

安装 Matplotlib

python -m pip install matplotlib

安装 Seaborn

pip install seaborn

图类型

Seaborn 提供的可绘制图类型包括

  • 统计关系型(statistical relationships)
  • 数据分布型(distributions of data)
  • 分类数据型(categorical data)
  • 回归模型分析型(regressionModels)
  • 多子图网格型(multi-plot grids)

关系型图

数据集变量间的相互关系和相互依赖的程度都可以通过统计分析变量间的相关性获知
Seaborn 中的关系型图绘制函数如下所示:

数据分布型图

在对数据进行分析或建模之前,我们需要先了解数据的分布情况,以及数据的覆盖范围、中心趋势、异常值等基本情况。

Seaborn 中的数据分布型图绘制函数:

分类数据型图

在面对数据组中具有离散型变量(分类变量)的情况时,我们可使用以 X 轴或 Y 轴作为分类轴的绘图函数来绘制分类数据型图。

Seaborn 中常见的分类数据型图绘制函数:


回归模型分析型图

我们可以使用回归模型分析型图表示数据集中变量间的关系,使用统计模型来估计两组变量间的关系。

Seaborn 中的回归分析型图绘制函数:

多子图网格型图

相比 Matplotlib,Seaborn 提供了多个子图网格绘图函数,它们可快速实现分面图的展示。在面对按数据子集绘图、分行或分列显示子图和不同类型图组合等绘图要求时,多子图网格绘制功能不但可以一次性可视化展示数据集中各变量的变化情况,而且可以减少绘制复杂图的时间。

FacetGrid () 函数

Seaborn 提供的 FacetGrid () 函数可实现数据集中任一变量的分布和数据集子集中多个变量之间关系的可视化展示。

FacetGrid() 函数可以实现行、列、色调 3 个维度的数值映射,其中,行、列维度与所得的轴阵列有明显的对应关系,色调变量可被视为沿深度轴的第三维,用不同的颜色绘制不同级别的数据。

核心代码;

import seaborn as sns
import matplotlib.pyplot as plt
g = sns.FacetGrid (df, col ='time ', hue = 'smoker ')
g.map (sns.regplot, "total_ bill", "tip")
g.add_legend ( )

绘制分面图结果:

PairGrid () 函数

Seaborn 提供的 PairGrid () 函数主要用于绘制数据集中具有成对关系的多子图网格型图。在 PairGrid () 函数中,每个行和列都会被分配一个不同的变量,这就导致绘制结果为显示数据集中成对变量间关系的图。这种图也被称为“散点图矩阵”。

核心代码:

import Seaborn as sns
import matplotlib.pyplot as plt
penguins = sns.load_dataset ("penguins")
x_vars = ["body_mass_g", "bill_length_mm", "bill_depth_mm",]
y_vars = ["body_mass_g"]
g = sns.PairGrid(penguins,hue="species", x_vars=x_vars, y_vars=y_vars)
g.map_diag (sns.histplot, color=".3")
g.map_offdiag(sns.scatterplot)
g.add_legend ()

绘图风格、颜色主题和绘图元素缩放比例

和 Matplotlib 相比,Seaborn 有更多的绘图风格和颜色主题,通过下列函数设置颜色主题、绘图风格和绘图元素缩放比例。

sns.set_style("style name") #设置绘图风格
sns.set_palette("palette_name")#设置颜色主题
sns.set_context("context_name")#设置绘图元素缩放比例

Seaborn 提供的 set_theme () 函数包含了上述 3 个函数的所有功能,即通过设置 set_theme() 函数中的参数 palettestylecontext,就可分别控制颜色主题、绘图风格和绘图元素缩放比例。

绘图风格

set_style() 参数 style 的可选值包括 darkgridwhitegriddarkwhiteticks,参数 rc 则用于覆盖预设 Seaborn 样式字典中的值的参数映射,只更新样式中的一部分参数。
下面是 4 种绘图风格的可视化效果:

颜色主题

set_palette() 函数包含多色系、单色系和双色渐变色系 3 类颜色主题,不同颜色主题的显示效果可通过 sns.color_palette () 函数来查看。

Seaborn 中部分颜色主题选项的可视化效果:

绘图元素缩放比例

set_context() 函数的参数 context 可选值为 papernotebook(默认)、talkposter,缩放比例依次增大。

参考书籍:宁海涛.科研论文配图绘制指南——基于Python[M].北京:人民邮电出版社,2023:31-36.

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

webpack5 (二)

什么是bable 是 js 编译器,主要的作用是将 ES6 语法编写的代码转换为向后兼容的 js 语法,以便可以运行在当前版本和旧版本的浏览器或其他环境中。 它的配置文件有多种写法: babel.config.*(js/json) babelrc.*(js/json) package.json 中的…

centos7物理机安装并配置外网访问

安装准备工作 安装之前需要准备一下,需要一个U盘,其次需要准备以下内容 1.需要centos7的ISO系统镜像 2.使用UltraISO软件写入ISO镜像 3.一台windows系统 将系统写入到U盘,写入步骤 打开UltraISO点击文件 → 打开,选择Linux镜…

飞天使-k8s基础组件分析-安全

文章目录 名称空间解释访问kubernetes API的控制RBAC的介绍 kubeconfig用户的创建集群默认角色 给组创建授权针对pod配置服务账户参考文档 名称空间解释 名字是啥? 答:集群中每个对象的名称对于该类型的资源都是唯一的。并且每一个对象在整个集群中也有…

『C语言入门』初识C语言

文章目录 前言C语言简介一、Hello World!1.1 编写代码1.2 代码解释1.3 编译和运行1.4 结果 二、数据类型2.1 基本数据类型2.2 复合数据类型2.3 指针类型2.4 枚举类型 三、C语言基础3.1 变量和常量3.2 运算符3.3 控制流语句3.4 注释单行注释多行注释注释的作用 四、 …

【给自己挖个坑】三维视频重建(NSR技术)-KIRI Engine

文章目录 以下是我和AI的对话通过手机拍摄物体的视频,再根据视频生成三维模型,这个可实现吗我想开发类似上面的手机应用程序,如何开发呢 看了以上回答,还是洗洗睡吧NSR技术的实现原理是什么呢有案例吗我是名Java工程师&#xff0c…

Flink_state 的优化与 remote_state 的探索

摘要:本文整理自 bilibili 资深开发工程师张杨,在 Flink Forward Asia 2022 核心技术专场的分享。本篇内容主要分为四个部分: 相关背景state 压缩优化Remote state 探索未来规划 点击查看原文视频 & 演讲PPT 一、相关背景 1.1 业务概况 从…

ABB PP846 3BSE042238R1触摸屏

触摸界面:这款触摸屏设备允许用户通过触摸屏幕来执行操作,如选择、控制和设置。 高分辨率显示:触摸屏可能具有高分辨率的显示屏,以显示图形、数据和控制界面。 多语言支持:它可能支持多种语言,以适应不同…

数据采集:selenium 获取 CDN 厂家各省市节点 IP

写在前面 工作需要遇到,简单整理理解不足小伙伴帮忙指正 对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对…

nacos安装部署

docker下载安装(双端口,支持seata使用) 1、docker run --name nacos -e MODEstandalone -d -p 8848:8848 -p 9848:9848 -p 9849:9849 nacos/nacos-server 2、访问:http://localhost:8848/,账号密码nacos

山西电力市场日前价格预测【2023-08-25】

日前价格预测 预测明日(2023-08-25)山西电力市场全天平均日前电价为314.22元/MWh。其中,最高日前电价为336.17元/MWh,预计出现在18: 30。最低日前电价为283.05元/MWh,预计出现在24: 00。 价差方向预测 1: 实…

千呼万唤!字节首个大模型产品“豆包”面世公测,无需邀请码!

相较其他大厂,字节跳动在大模型领域的进展一直比较神秘,最近相关项目终于露出了冰山一角。 字节跳动旗下首个AI对话产品“豆包”目前已经上线,面向公众开始测试,无需邀请码,直接可以在官网(https://www.do…

Mysql 设置表字段自动赋值创建时间,以及自动更新某一个字段的更新时间

使用场景 一般表设计中记录都有创建时间以及更新时间,而 Mysql 也支持了这种通用的设计需求。 即:可以通过默认值来给时间字段自动赋值,在创建时的默认值就是当前时间也就是记录的创建时间。 记录更新:即某一记录更新时我们要更…

骨传导耳机适合运动时佩戴吗?精选五款适合运动时佩戴的耳机

当专业运动耳机已经成了运动新贵们的常用穿戴拍档,给夜跑、骑行、撸铁增添了更多期待和振奋。而骨传导耳机凭借自身健康、舒适、安全的聆听方式,迅速脱颖而出成为运动健身中最健康的黑科技耳机,但由于市面上的骨传导耳机技术参差不齐,一不留神…

解决生僻字,中兴新支点操作系统通过GB 18030-2022《中文编码字符集》认证

您认识上图中的这个字吗? 上面一个“鸟”,下面一个“甲”,这个字读“nia(四声)”。它是云南丽江傈僳族中一支氏族的姓氏。这个氏族以鸟为图腾。因信息系统中无法输入显示“nia”字,氏族里近700人不得不妥协…

springboot使用properties

一、方式1: 1.1.配置类: package cn.zyq.stater.config;import cn.zyq.stater.bean.User4; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework…

C语言实现基于数组的环形缓冲队列

背景 在C语言编程场景中,常常需要对一段不定长数据进行缓存。这里提出一种基于数组的环形缓冲队列,解决上述场景的问题。 原理 如下图所示,首先定义数据长度为buf[8],初始化指针为in/out 其中in为缓冲数据的输入指针 out为缓…

智慧党建VR虚拟3D数字化展厅发展和传承传统文化

三维全景虚拟现实技术应用在虚拟展馆中,主要是通过全景照片的虚拟与建模,营造出三维虚拟仿真的场景,从而结合展馆展示的需求,营造出更加有效的氛围,起到优化展示效果的作用。 三维全景虚拟现实技术的应用,能…

记录:yolov8训练自己的数据集

一、LabelImg标注自己的原图数据集 .xml标注格式 二、带标签的数据增强 先将原始数据(图片,标注)转移到项目根目录,然后再数据增强,避免标注内容路径错误。 亮度变换加旋转 # 一、亮度 img_dir multi/images # 原始…

科研论文配图绘制指南——基于Python—第二章2.seaborn

目录 第二章2.2 Seaborn2.2.2 多子图网格型图2.2.3 绘图风格、颜色主题和绘图元素缩放比例 第二章 2.2 Seaborn Seaborn是Python中一个非常受用户欢迎的可视化库。Seaborn 在 Matplotlib 的基础上进行了更加高级的封装,用户能够使用极少的代码绘制出拥有丰富统计信…

线程的生命周期详解

一个线程的生命周期有6个阶段: 新建,是刚使用new方法,new出来的线程;就绪,是调用的线程的start()方法后,这时候线程处于等待CPU分配资源阶段;运行,当就绪的线程被调度并获得CPU资源时…