【Matplotlib】在 ax(Axes 对象)上使用 seaborn(简称 sns)绘图

news2024/9/20 7:49:21

在这里插入图片描述
axAxes 对象)上使用 seaborn(简称 sns)绘图时,你可以通过将 ax 作为参数传递给 seaborn 的绘图函数。这允许你将 seaborn 的图形绘制在指定的 ax 对象上,从而将多个图形组合在一个图形布局中。

示例代码

假设你有一个 Axes 对象 ax,并且想要在这个 ax 上绘制一个 seaborn 的图形:

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd

# 生成一些随机数据
data = np.random.rand(100, 2)
df = pd.DataFrame(data, columns=['X', 'Y'])

# 创建一个Matplotlib的Axes对象
fig, ax = plt.subplots()

# 使用seaborn在指定的Axes对象上绘图
sns.scatterplot(data=df, x='X', y='Y', ax=ax)

# 设置标题
ax.set_title('Scatter Plot using Seaborn on Axes')

# 显示图形
plt.show()

解释:

  1. fig, ax = plt.subplots(): 创建一个 Figure 和一个 Axes 对象。
  2. sns.scatterplot(..., ax=ax): 在指定的 Axes 对象 ax 上绘制一个散点图。ax=ax 这个参数告诉 seaborn 将图形绘制在这个 ax 上,而不是创建一个新的图形。
  3. ax.set_title('...'): 设置 ax 的标题。

你可以使用这种方法在一个图形中绘制多个子图或者控制每个子图的布局和样式。这种方式结合了 Matplotlib 的灵活性和 Seaborn 的高层次 API,适用于复杂的图形布局需求。

在这里插入图片描述

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np

# 生成一些随机数据
data1 = np.random.randn(1000)
data2 = np.random.randn(1000)

# 创建一个包含两个子图的布局,分成一行两列
fig, axs = plt.subplots(1, 2, figsize=(12, 6))

# 在第一个子图上绘制KDE图
sns.kdeplot(data1, ax=axs[0])
axs[0].set_title('KDE of Data 1')

# 在第二个子图上绘制KDE图
sns.kdeplot(data2, ax=axs[1])
axs[1].set_title('KDE of Data 2')

# 调整子图布局
plt.tight_layout()

# 显示图形
plt.show()

解释:

  1. fig, axs = plt.subplots(1, 2, figsize=(12, 6)): 创建一个包含两个子图的布局,分成一行两列,并指定图形大小。
  2. sns.kdeplot(data1, ax=axs[0]): 在第一个子图 axs[0] 上绘制数据 data1 的 KDE 图。
  3. sns.kdeplot(data2, ax=axs[1]): 在第二个子图 axs[1] 上绘制数据 data2 的 KDE 图。
  4. plt.tight_layout(): 自动调整子图布局,以防止子图重叠。

你可以复制并在本地运行这段代码。这样会生成两个并排的 KDE 图,分别展示 data1data2 的分布情况。如果有其他问题或需要进一步帮助,请随时告诉我!

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

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

相关文章

超高速直线模组究竟有多快?飞创直线模组最快速度是多少?

超高速直线模组的速度范围从每秒几毫米到每秒几十米,影响速度的因素包括电磁设计、冷却和机械结构等。超高速直线模组的速度也会因品牌、型号以及具体应用场景等因素而有所不同。 飞创直线模组的速度较快,最大速度可达10m/s,不同规格的直线模…

什么是护网?2024护网行动怎么参加?一文详解_护网具体是做啥的

前言 最近的全国护网可谓是正在火热的进行中,有很多网安小白以及准大一网安的同学在后台问我,到底什么是护网啊?怎么参加呢?有没有相关的学习资料呢?在下不才,连夜整理出来了这篇护网详解文章,希…

JavaWeb系列十一: Web 开发会话技术Cookie

会话技术-Cookie 基本介绍会话的两种技术cookie有什么用?cookie介绍二说cookiecookie可以用来干啥cookie常用方法cookie底层实现机制-创建和读取cookie应用实例-读取指定cookie和修改cookiecookie生命周期介绍应用实例 cookie有效路径有效路径规则应用实例作业布置cookie注意事…

日本求职面试时的注意事项、面试职场礼仪!

毋庸置疑的第一点就是—简历! 接到面试通知,就应该已经通过简历筛选的环节了。但也有些公司会要求面试时带上“履历书”和“职务经历书”。这时候也要好好查看简历上的日期、住址、电话等信息有没有误;以往职业经历有没有写清晰;…

批量修改文件名神器-文件名精灵

最近在网上发现一个批量修改文件名神器,这个软件叫“文件名精灵”,好用还免费。下载地址为

OJ-0807

题目 参考 import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in new Scanner(System.in);String input in.nextLine();String[] numStrs inp…

关于百度、微软语音合成的实现案例

关键词 自助机产品、排队呼叫功能、网络喇叭、百度语音合成SDK、微软TTS 阅读建议 对自助机产品功能扩展感兴趣的读者、需要实现远程语音呼叫功能的开发者、想要了解网络喇叭选型及其使用的技术人员、对百度语音合成SDK和微软TTS感兴趣的开发者 阅读时长 预计阅读时长&#xf…

智谱AI正式开源CogVideoX:视频生成技术的新里程碑

前沿科技速递🚀 随着大型模型技术的持续发展,视频生成技术正在逐步走向成熟。智谱AI团队宣布开源其创新的视频生成模型CogVideoX系列,这标志着视频内容创作的一个新里程碑。通过此次开源,智谱AI旨在让每一位开发者、每一家企业都能…

spring+SSM+Mybatis面试题(上)(30道)

目录 1. 何为Spring Bean容器?Spring Bean容器与Spring IOC 容器有什么不同吗?2. Spring IOC 如何理解?3. Spring DI 如何理解?4. Spring 中基于注解如何配置对象作用域?以及如何配置延迟加载机制?1.配置作用域需要注解Scope(“Singleton”)2.开启延迟加载:La…

AWS云账号注销还能重新注册吗

注销了AWS云账号后,是否还能重新注册,这是许多用户关心的问题。今天九河云和大家来详细探讨一下这个话题。 重新注册AWS账号的可能性 一旦你注销了AWS账号,意味着你已经彻底删除了该账户及其所有关联的资源和数据。因此,注销的A…

基于ENVI遥感解译的区域生态环境评价分析

原文链接:基于ENVI遥感解译的区域生态环境评价案例分析https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247611979&idx4&sn9239197610eff7d5ef75a625dcbb5315&chksmfa8277accdf5febaf916e044bf9f0fb23c31ca92ca2a3086ecf435f94a1503fcd59085f…

Mysql 脚本转换为drawio ER 脚本

Navicat 导出数据库脚本 通过代码转换脚本 import java.io.BufferedReader; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.regex.Matcher; import java.util.regex.Pattern;/*** SQL 脚本转换为 drawio ER 脚本*/ pu…

ArkTS和TypeScript区别

一、对象字面量须标注类型 const point {x: 100,y: 100 }console.log(point) 运行之后会输出 { x: 100, y: 100 } 以上TS代码片段展示了没有类型的场景。如果编译器不知道变量point的确切类型,由于对象布局不能确定,编译器无法深度地优化这段代码&am…

gradle全局配置

搭建spring boot3.x开发环境的先决条件,咱们已经完成了JDK17安装与配置,然后就是项目构建工具,我们使用现在很流行的gradle,进行下全局配置,以方便和加速后续spring boot项目构建。 配置一个GRADLE_USER_HOME环境变量&…

【密码学】密码协议的安全性

密码协议是用来在不安全的网络环境中建立安全通信通道的方法。虽然密码协议中仅有很少的几组消息传输,但其中每条消息的组成都是经过巧妙的设计,而这些协议之间有着复杂的相互作用和制约。 若如果协议涉及上出现漏洞,那么协议将存在验证的安全…

【JAVA多线程】AQS,JAVA并发包的核心

目录 1.概述 1.1.什么是AQS 1.2.AQS和BlockQueue的区别 1.3.AQS的结构 2.源码分析 2.1.CLH队列 2.2.模板方法的实现 2.2.1.独占模式 1.获取资源 2.释放资源 2.2.2.共享模式 1.概述 1.1.什么是AQS AQS非常非常重要,可以说是JAVA并发包(java.…

MES是什么?MES系统主要包括哪些功能?

一、MES系统是什么? MES是(Manufacturing Execution System)的缩写,中文名称叫做制造企业生产过程执行管理系统,是一套整体的面向制造企业车间执行层生产信息化管理的解决方案。MES系统经历了若干个发展阶段&#xff…

PHP简单零售收银台系统源码小程序

🛒轻松上手!简单零售收银台系统,让经营更省心💸 🚀 开篇:告别繁琐,拥抱高效收银新时代 嘿,小店主们!👋 还在为每天繁琐的收银工作头疼吗?是时候…

探索腾讯云AI代码助手:智能编程的新时代

智能编程的新时代 前言开发环境介绍腾讯云 AI 代码助手使用实例生成文档解释代码生成测试修复代码人工智能技术对话 智能编程获得的帮助与提升对腾讯云AI代码助手的建议结语 前言 hello,大家好我是恒川,今天我来给大家安利一款非常好用的AI 代码助手&…

JVM(面试用)

目录 一、JVM运行时数据区 二、JVM类加载 类加载过程 1、加载(loading) 2、验证(Verification) 3、准备(Perparation) 4、解析(Resolution) 5、初始化(Initializ…