Python绘制多条y轴范围不同的曲线并在一张图上显示

如何使用Python绘制多条y轴范围不同的曲线,然后把它们合并在一张图上显示

import matplotlib.pyplot as plt
import numpy as npdef multilines(target, x, ys, types, colors, x_label, labels):"""用来绘制多条y轴范围不同的线,并在一张图上显示"""# fig, ax = plt.subplots(figsize=(16, 4), dpi=200)# fig.subplots_adjust(left=0.2)twins = []twins.append(target[0])p = []for i in range(len(ys) - 1):twins.append(target[0].twinx())for i, label in enumerate(labels):temp_p, = twins[i].plot(x, ys[i], types[i], color=colors[i], label=label)p.append(temp_p)twins[0].set_xlabel(x_label)# twins[0].tick_params(axis='x', labelsize=20)pad = 0twin_lines = []twin_labels = []for i, twin in enumerate(twins):twin.set_ylabel(labels[i])twin.yaxis.set_label_position('left')twin.yaxis.set_ticks_position('left')twin.yaxis.label.set_color(p[i].get_color())twin.tick_params(axis='y', colors=p[i].get_color(), pad=pad)pad += 60temp_line, temp_label = twin.get_legend_handles_labels()twin_lines.append(temp_line)twin_labels.append(temp_label)final_line = twin_lines[0]final_label = twin_labels[0]for i in range(len(twin_lines) - 1):final_line += twin_lines[i + 1]final_label += twin_labels[i + 1]twins[0].legend(final_line, final_label, loc='best')if __name__ == '__main__':x = np.linspace(0, 10, 100)y1 = np.sin(x)y2 = 2 * np.cos(x)y3 = 0.5 * np.tan(x)fig, ax = plt.subplots(figsize=(16, 4), dpi=200)fig.subplots_adjust(left=0.2)multilines([ax], x, [y1, y2, y3], ['r-', 'b-', 'g-'], ['red', 'blue', 'green'], 'depth', ['y1', 'y2', 'y3'])plt.show()

在这里插入图片描述

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

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

相关文章

苹果iOS 16.6 RC发布:或为iPhone X/8系列养老版本

今天苹果向iPhone用户推送了iOS 16.6 RC更新(内部版本号:20G75),这是时隔两个月的首次更新。 按照惯例RC版基本不会有什么问题,会在最近一段时间内直接变成正式版,向所有用户推送。 需要注意的是,鉴于iOS 17正式版即将…

Python获取接口数据

首先我们需要下载python,我下载的是官方最新的版本 3.8.3 其次我们需要一个运行Python的环境,我用的是pychram,需要库的话我们可以直接在setting里面安装 代码: # -*- codeing utf-8 -*- from bs4 import BeautifulSoup # 网页…

docker中搭建lnmp

目录 一:项目环境 1、主机ip需求 2、 任务需求 二:多级构建Dockerfile实验部署 lnmp 1、先部署一个有所有依赖包的镜像 2、搭建nginx 3、搭建mysql 4、搭建php 三:一级构建安装lnmp 1、构建自定义docker网络 2、构建nginx容器&#x…

Java版Spring Cloud+Spring Boot+Mybatis+uniapp知识付费平台讲解

提供私有化部署,免费售后,专业技术指导,支持PC、APP、H5、小程序多终端同步,支持二次开发定制,源码交付。 Java版知识付费-轻松拥有知识付费平台 多种直播形式,全面满足直播场景需求 公开课、小班课、独…

降压电路原理 12V电源是如何下降到5V?

引言: 12V-5V开关电源设计原理:以12V电压作为输入,通过控制开关电路的通断时间,实现电感的充放电时间,改变输出电压的平均值,然后进行LC滤波,对输出电压进行电压和电流反馈控制,使其…

企业知识管理系统安全是重中之重

企业开展知识管理工作的益处是全方位的,效果能从业务的各方面得到体现,最终效果就是企业竞争力的提升与企业经营业绩的提升。 知识管理系统的意义在于,构建系统的知识库,对纷杂的知识内容(方案、策划、制度等&#xf…

MybatisPlus使用排序查询时,将null值放到最后

1用户需求 查询结果,按照某些字段进行排序,将为null的值放到最后。按照更新时间排序,但是更新时间可能为null,因此将null的数据放到最后。 2解决方案 最简单的方式,当然是下面这种直接在SQL最后面 NULLS LAST &…

502 Bad GateWay报错的解决方法

什么是502 bad gateway 报错 简单来说 502 是报错类型代码 bad gateway 错误的网关。是Web服务器作为网关或代理服务器时收到无效的响应。 用我们的口语说就是运行网站的服务器暂时挂了(不响应)。 产生错误的原因 1.连接超时 我们向服务器发送请求 由于服务器当前链接太多&am…

89、简述RabbitMQ的架构设计

简述RabbitMQ的架构设计 BrokerQueueExchangeRoutingKeyBinding信道架构设计图 Broker RabbitMQ的服务节点 Queue 队列,是RabbitMQ的内部对象,用于存储消息。RabbitMQ中消息只能存储在队列中。生产者投递消息到队列,消费者从队列中获取消息…

科技与人元宇宙论坛跨界对话

近来,“元宇宙”成为热门话题,越来越频繁地出现在人们的视野里。大家都在谈论它,但似 乎还没有一个被所有人认同的定义。元宇宙究竟是什么?未来它会对我们的工作和生活带来什么样 的改变?当谈论虚拟现实(VR…

ES6基础知识五:你是怎么理解ES6新增Set、Map两种数据结构的?

如果要用一句来描述,我们可以说 Set是一种叫做集合的数据结构,Map是一种叫做字典的数据结构 什么是集合?什么又是字典? 集合 是由一堆无序的、相关联的,且不重复的内存结构【数学中称为元素】组成的组合 字典 是…

vue2生命周期图

生命周期全过程如下👇详解 一:生命周期之创建阶段 1.创建一个Vue实例【new Vue()】 2.初始化Vue实例,第一次初始化,初始化Vue当中的事件和生命周期方法【Init Events Lifecycle】 ☆☆☆调用生命周期方法当中的beforCreate,调用这个方法的时候有一个特点,就是在调…

Matlab中实现对一幅图上的局部区域进行放大

大家好,我是带我去滑雪! 局部放大图可以展示图像中的细节信息,使图像更加直观和精美,此次使用magnify工具实现对绘制的figure选择区域绘制,图像效果如下: 1、基本图像绘制 这里选择绘制一个散点图&#xff…

前端:运用html+css+js模仿百度热搜电影榜鼠标移入特效

前端:运用htmlcssjs模仿百度热搜电影榜鼠标移入特效 1. 实现原理2. 界面布局3. js实现对鼠标移入和移出的监听4. 参考代码如下: 1. 实现原理 百度热搜上电影榜鼠标移入特效如上图所示。个人觉得上述特效实现原理为使用相对定位、绝对定位实现的(鼠标移入和没有移入…

自己实现SpringMVC 底层机制[二]

文章目录 自己实现SpringMVC 底层机制[二]实现任务阶段3- 从web.xml 动态获取myspringmvc.xml分图析示意代码实现 实现任务阶段4- 完成自定义Service 注解功能。分析示意图代码实现完成测试(启动Tomcat, 自动加载MyDispatcherServlet, 完成IOC 容器的注入)。 自己实现SpringMVC…

springboot集成logback按日志级别按天保存

演示结果 集成logback后项目启动控制台不会有日志输出 生成的日志文件路径windows上是默认D盘,linux上可自定义 代码实现 pom.xml <dependency><groupId>ch.qos.logback</groupId>

C# Modbus通信从入门到精通(21)——Modbus TCP协议原理

Modbus TCP是走网口的&#xff0c;也可以在同一时间内有多个从站访问主站&#xff0c;并且通过Modbus事务处理标识来区分同一时刻的不同Modbus事务&#xff0c;这是区别于Modbus ASCII和Modbus RTU的地方。 1、访问模式&#xff1a; Modbus客户端通常输入Modbus服务器的IP地址…

Server - 调用 K8S 集群 GPU 环境运行算法脚本

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://blog.csdn.net/caroline_wendy/article/details/131899662 Kubeflow 是基于 Kubernetes 的机器学习工具包&#xff0c;提供了一套技术栈&#xff0c;包含了很多组件&#xff0c;用于支持…

SQL SERVER安装

其中服务器名称输入./自己本机电脑名称. nchar类型一个单位可以放一个汉字-------长度短的补空格一个字节8位一个汉字两个字节 char类型两个单位可以放一个汉字 nvarchar类型是可变长度-----------长度短不会补空格 varchar类型是可变长度两个单位可以放一个汉字---------…