matplotlib绘制子图以及局部放大效果

news2024/9/22 15:35:29

需求:绘制1*2的子图,子图1显示两个三角函数,子图2显示三个对数函数,子图2中对指定的区域进行放大。

绘图细节:

  • 每个子图中每个函数的数据存放到一个列表中,然后将每个子图的数据统一存到一个列表中,在循环绘制子图的过程中,可以循环取每个子图的数据以及子图数据中每一个函数的数据,以更好的应对数据量不同的情况。函数标签同理。
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.log2(x)  
y4 = np.log(x)
y5 = np.log10(x)

sub = [[y1, y2], [y3, y4, y5]] #两个子图的数据
labels = [['sin', 'cos'], ['log2', 'loge', 'log10']] #数据标
  • 子图的位置以及需要放大的区间可以自行设置,设置的坐标范围以及子图大小不同,显示效果也不同,另外,此方法在进行子图数据绘制时,一定要将数据转为numpy格式,否则无法进行截取数据的逻辑运算。

完整代码

import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
# 创建数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.log2(x)  
y4 = np.log(x)
y5 = np.log10(x)

sub = [[y1, y2], [y3, y4, y5]] #两个子图的数据
labels = [['sin', 'cos'], ['log2', 'loge', 'log10']] #数据标签
function_name = ['三角函数', '对数函数']

# 创建1*2的子图区域,每个子图包含两条线
fig, axes = plt.subplots(1, 2, figsize=(12, 6))
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号

for i in range(2):  #遍历两个子图
    data = sub[i] #取出子图数据
    label = labels[i] #取出子图标签
    for j in range(len(data)):   #遍历每个子图数据
        axes[i].plot(x, data[j], label=label[j])
    axes[i].legend()
    axes[i].set_title(function_name[i])
    if i == 1: #为第二个子图设置放大
        ax_zoom = axes[i].inset_axes([0.5, 0.05, 0.3, 0.3])  # 放大图距离中点的位置,参数是[left, bottom, width, height]
        x_start, x_end = 0.5, 2  #需要放大的x轴区间
        y_start, y_end = -1, 1  #需要放大的y轴区间
        ax_zoom.set_xlim(x_start, x_end) #设置坐标轴范围
        ax_zoom.set_ylim(y_start, y_end)
        # 在局部放大图中绘制放大区域的三条线条
        # 此处一定要保证x和y是numpy数组
        for k, _ in enumerate(data):
            ax_zoom.plot(x[(x >= x_start) & (x <= x_end)], data[k][(x >= x_start) & (x <= x_end)])
        axes[i].indicate_inset_zoom(ax_zoom) # 使用indicate_inset函数在主图中标记放大区域,可不设置

plt.tight_layout(w_pad=3) #紧凑布局, 子图左右间距为3
plt.show()

效果

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

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

相关文章

亿发详解:ERP系统选择的艺术——中小企业如何避免实施陷阱?

有很多中小工厂反应&#xff0c;工厂上了一套精细化ERP系统后&#xff0c;却发现为了适应系统&#xff0c;不仅效率没提高&#xff0c;工作量还变大了&#xff0c;很多功能也根本用不到。这种情况其实并不少见。许多企业在引入ERP系统后&#xff0c;反而遇到了各种问题。说到底…

RocketMQ学习(一)

文章目录 参考1. MQ 介绍1.1 为什么要用 MQ应用解耦流量削峰数据分发 1.2 MQ 的优点和缺点1.3 各种 MQ 产品的比较 2. RocketMQ 快速入门2.1 准备工作2.1.1 下载 RocketMQ2.2.2 环境要求安装jdk 2.2 安装 RocketMQ2.2.1 安装步骤2.2.2 目录介绍 2.3 启动 RocketMQ示例 2.4 测试…

配置错误酿大祸:.env文件泄漏导致数千组织云端数据遭受攻击

攻击者从不安全存储在数以万计的 Web 应用程序的环境变量中收集 Amazon Web Services 密钥和各种云服务的访问令牌。 Unit 42 研究人员发现了一种数据勒索活动&#xff0c;该活动主要是攻击者通过从不安全地存储在 Web 服务器上的环境 &#xff08;.env&#xff09; 文件&#…

空气净化器怎么选能除猫毛?宠物空气净化器除味好的分享

我有一位呼吸科医生朋友&#xff0c;他自己也养猫。他常向我们这群养宠物的朋友传授关于宠物毛发潜在危害的知识&#xff0c;引来不少幽默的回应&#xff1a;“既然如此&#xff0c;干脆把猫送走算了&#xff1f;”开玩笑&#xff0c;自己养大的猫跟亲生的有什么区别。我注意到…

搭建FTP服务器,通过浏览器访问FTP服务器,测试终端上传的音频文件。

文章目录 引言I 搭建FTP服务器II 浏览器访问FTP文件PC端浏览器访问iphone-safari浏览器访问FTP设置Mac-Safari浏览器访问FTP设置III FTP基础知识FTP客户端数据连接: 被动模式(PASV)引言 需求: 通过浏览器访问,测试终端通过FTP上传的语音文件,支持直接播放语音文件。 建议…

[数据集][目标检测]风力发电机叶片损伤检测数据集VOC+YOLO格式5029张8类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;5029 标注数量(xml文件个数)&#xff1a;5029 标注数量(txt文件个数)&#xff1a;5029 标注…

【MATLAB学习笔记】绘图——分割绘图背景并填充不同的颜色

目录 前言分割背景函数示例基本绘图分割背景函数的使用保存图片 总代码总结 前言 在MATLAB中&#xff0c;使用窗口对象的Color属性可以轻松地设置不同的背景颜色&#xff0c;但是只能设置一种单一颜色。若需要将绘图背景设置成多种颜色&#xff0c;比如左右两边不同的颜色&…

Gradio.NET支持 .NET 8 简化 Web 应用开发

目录 前言 Gradio.NET Gradio.NET 使用 1、创建项目 2、安装 Gradio.Net 3、示例代码 Gradio.NET 示例 1、Layout 2、Form 3、Media 4、Chatbot 5、Progress Gradio.NET 应用 项目地址 总结 最后 前言 Gradio.NET 是 Gradio 在 .NET 平台上的移植版本。Gradio …

内容为王:数字化营销的致胜法宝

​在当今数字化时代&#xff0c;营销环境发生了巨大变化。消费者被海量信息包围&#xff0c;注意力成为必争资源。在这种情况下&#xff0c;“内容为王” 的理念愈发凸显其重要性&#xff0c;成为数字化营销的致胜法宝。 1. 吸引用户注意力 高质量、有价值的内容能够在众多信息…

推荐好古文《马说》

韩愈 世有伯乐&#xff0c;然后有千里马。千里马常有&#xff0c;而伯乐不常有。故虽有名马&#xff0c;只辱于奴隶人之手&#xff0c;骈死于槽枥之间&#xff0c;不以千里称也。 马之千里者&#xff0c;一食或尽粟一石。食马者不知其能千里而食也。是马也&#xff0c;虽有千…

【Python最全系统学习路线】:千万不要盲目自学Python,顺序真的很重要!

如果你一直想学Python&#xff0c;但是不知道如何入手&#xff0c;那就别犹豫了。这篇文章就是为你写的。 根据我自己的经验来说&#xff0c;想从零开始学Python&#xff0c;以后也确实想找相关的工作&#xff0c;基本是下边这三种方式&#xff1a; 继续上学。报个这方面的专业…

WiFi的IP和电脑IP一样吗?怎么更改wifi的ip地址

在数字化时代&#xff0c;网络连接已成为我们日常生活和工作中不可或缺的一部分。无论是通过手机、电脑还是其他智能设备接入互联网&#xff0c;IP地址作为网络设备的唯一标识&#xff0c;扮演着至关重要的角色。然而&#xff0c;很多用户对于WiFi的IP地址与电脑&#xff08;或…

Linux权限维持实战

目录 介绍步骤 介绍 攻击者在获取服务器权限后&#xff0c;会通过一些技巧来隐藏自己的踪迹和后门文件 查看/tmp目录下的flag文件 查看/root目录下具有特殊文件属性的文件 操作机中共有几个SUID文件 操作机中共有几个SGID文件 查看操作机中ssh公私钥免密登陆 查看strace后门 …

机器视觉学习笔记和过程记录:下载安装OpenCv

下载安装opencv 1、本机已经安装了anaconda&#xff0c;打开对应的环境下的命令行窗口&#xff0c;输入python后回车&#xff0c;会显示python版本&#xff0c;本机是3.8.3&#xff1a; 2、打开链接&#xff1a;Links for opencv-python &#xff0c;在网页中查找与python版本…

【计算机组成原理】三、存储系统:5.页式存储、虚拟存储

9.页式存储器 文章目录 9.页式存储器9.1页表9.2地址变换过程9.3快表TLB 10.虚拟存储器10.1页式虚拟存储器10.2段式虚拟存储器10.3段页式虚拟存储器 详见 操作系统 3.内存管理 存储器管理 分页存储管理 因为实际连续存放一段程序是不现实的&#xff0c;那样会使得利用率极低。所…

探索人工智能领域:从探索到战略整合

我们正站在商业和技术新时代的风口浪尖。人工智能已经成为一股变革力量&#xff0c;有望彻底改变行业并重新定义我们的工作方式。然而&#xff0c;从最初的人工智能探索到全面整合&#xff0c;这条路并不平坦。 全球各地的组织都在努力解决如何充分利用人工智能潜力的复杂问题&…

TXT文件转换pdf格式的java方法

<dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13.2</version> </dependency>接下来&#xff0c;编写一个方法来执行文件转换&#xff1a; import com.itextpdf.text.Document…

文心快码 Baidu Comate 前端工程师观点分享:以文心快码 Baidu Comate为例,智能代码助手需要什么(四)⓵

本系列视频来自百度工程效能部的前端研发经理杨经纬&#xff0c;她在由开源中国主办的“AI编程革新研发效能”OSC源创会杭州站105期线下沙龙活动上&#xff0c;从一款文心快码&#xff08;Baidu Comate&#xff09;前端工程师的角度&#xff0c;分享了关于智能研发工具本身的研…

一文彻底搞懂CNN - 模型架构(Model Architecture)

CNN Model Architecture CNN&#xff08;卷积神经网络&#xff09;的模型架构由输入层、卷积层、池化层以及全连接层组成&#xff0c;通过卷积操作提取图像特征&#xff0c;并通过池化减少参数数量&#xff0c;最终通过全连接层进行分类或回归。 输入层&#xff1a;接收原始图…

​14:00面试,14:06就出来了,问的问题有点变态。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到5月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40%…