当前位置: 首页 > news >正文

yjs04——matplotlib的使用(多个坐标图)

 1.多个坐标图与一个图的折线对比

1.引入包;字体(同)

import matplotlib.pyplot as plt
import random
plt.rcParams['font.family'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False


2.创建幕布

        2.1建立图层幕布

        一个图:plt.figure(figsize=(...,...),dpi=...)

        不同图层:

       my_fig, axes = plt.subplots(nrows=xx, ncols=xx, figsize=, dpi=...)
..................................................................................

        2.2数据准备(同)   

        x = range(1, 15)                                      #x坐标轴的刻度 
        x_label = ["10月{}日".format(i) for i in x] #x坐标的写法
        y = range(5,25)                                      #y坐标轴的刻度

        y_shanghai = [random.uniform(15, 20) for i in x] #折线的y值
        y_beijing = [random.uniform(10, 15) for i in x]
·······················································································································   

        2.3画折线

        一个图:plt.plot(x,y_shanghai,label="",color="..",linestyle....)

                      plt.plot(x,y_beijing,...color="",...)

        多个图:

    axes[i].plot(x, y_shanghai, label=..., color=...)
或  axes[i][j].plot(x, y_shanghai, label=....)
..................................................................................

        2.4画坐标

        一个图plt.xticks(x,x_label)

        两个图

        axes[i][j].set_xticks(x)axes[i][j].set_xticklabels(x_label,rotation=45)axes[i][j].set_yticks(y)  #这里就是一个一个的写,刻度和名称分开的,一个图里是用一个函数的参数位置区分,这里是不同函数分开传

        2.5添加其他信息

        一个图:plt.xlabel();

                    plt.ylabel();

                    plt.title()

   多个图: axes[i][j].set_xlabel("日期")axes[i][j].set_ylabel("温度")axes[i][j].set_title("上海15日内的天气变化")

···················································································································

        2.6添加图例(都要在画折线的时候加label)

        一个图:plt.legend(loc=0)

        多个图:

           axes[i][j].legend(loc=1)  #这里不是set_legend!看好了!

        2.7添加网格

        一个图:plt.grid(True,alpha=0.5)

        多个图:

           ax[i][j].grid(True,alpha=0.5)

..............................................................................................................................................

3.展示图像(同)

        plt.show()

                        

2.代码展示

# matplotlib 拆成不同坐标轴;拆到不同的图里
import matplotlib.pyplot as plt
import random
plt.rcParams['font.family'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False# 1.创建画布
# 在一个图里画创建画布 plt.figure(figsize=(80, 20), dpi=50)
m_fig, ax = plt.subplots(nrows=2, ncols=2, figsize=(40, 60), dpi=90)# 准备数据(与原来一样)
x = range(1, 15)
y=range(5,25)
y_shanghai = [random.uniform(15, 20) for i in x]
y_beijing = [random.uniform(10, 15) for i in x]
x_label = ["10月{}日".format(i) for i in x]# 2.画图
# 添加折线
# plt.plot(x,y_shanghai);plt.plot(x,y_beijing)
ax[0][0].plot(x, y_shanghai, label="上海", color="b", linestyle="-")
ax[1][0].plot(x, y_beijing, label="北京", color="r", linestyle="--")# 添加坐标轴
# 一个图中建立坐标轴是 plt.xticks(x,x_label,....);plt.yticks()
ax[0][0].set_xticks(x)
ax[0][0].set_xticklabels(x_label,rotation=45)
ax[0][0].set_yticks(y)ax[1][0].set_xticks(x)
ax[1][0].set_xticklabels(x_label,rotation=45)
ax[1][0].set_yticks(y)# 添加其他信息
# plt.xlabel("时间");plt.ylabel("温度");plt.title("15日内温度变化")
ax[0][0].set_xlabel("日期")
ax[0][0].set_ylabel("温度")
ax[0][0].set_title("上海15日内的天气变化")ax[1][0].set_xlabel("日期")
ax[1][0].set_ylabel("温度")
ax[1][0].set_title("北京15日内的天气变化")# 添加图例
# plt.legend(loc=0)
ax[0][0].legend(loc=1)
ax[1][0].legend(loc=1)#添加网格
ax[0][0].grid(True,alpha=0.5)
ax[1][0].grid(True,alpha=0.5)# 3.展示
plt.show()


我的问题:

1.对于fig,axes=plt.subplots(nrows=,nlows=,...)不太理解

首先是fig,axes这两个是你的幕布和坐标轴“名字”,下面坐标轴会用axes[i][j]来指定

其次nrows是有几行,nlows是有多少列,如果只有两个坐标,那么下面在说坐标轴时用一维数组来描述即可,即axes[0]与axes[1],但是如果有四个的话,要用axes[0][0],axes[0][1]....来指明

2.画坐标的时候的传参问题

一个图的坐标可以参数不写,然后会给你自动带入相应的值,但是多个图时必须传参;如plt.yticks()这里就可以不穿,但是axes[0].set_yticks(y)这里就得穿,要不然报错

3.图例那里 不是set_legend()是axes[i].legend()看好了,别顺手写了!

相关文章:

yjs04——matplotlib的使用(多个坐标图)

1.多个坐标图与一个图的折线对比 1.引入包;字体(同) import matplotlib.pyplot as plt import random plt.rcParams[font.family] [SimHei] plt.rcParams[axes.unicode_minus] False 2.创建幕布 2.1建立图层幕布 一个图:plt.fig…...

MOS管和三极管有什么区别?

MOS管是基于金属-氧化物-半导体结构的场效应晶体管,它的控制电压作用于氧化物层,通过调节栅极电势来控制源漏电流。MOS管是FET中的一种,现主要用增强型MOS管,分为PMOS和NMOS。 MOS管的三个极分别是G(栅极),D(漏极)&…...

医院多参数空气质量监控和压差监测系统简介@卓振思众

在现代医院管理中,确保患者和医疗人员的健康与安全是首要任务。为实现这一目标,医院需要依赖高科技设施来维持最佳的环境条件。特别是,多参数空气质量监测系统和压差监测系统在这一方面发挥了不可替代的作用。【卓振思众】多参数空气质量监测…...

[项目实战]EOS多节点部署

文章总览:YuanDaiMa2048博客文章总览 EOS多节点部署 (一)环境设计(二)节点配置(三)区块信息同步(四)启动节点并验证同步EOS单节点的环境如何配置 (一&#xf…...

setImmediate() vs setTimeout() 在 JavaScript 中的区别

setImmediate() vs setTimeout() 在 JavaScript 中的区别 在 JavaScript 中,setImmediate() 和 setTimeout() 都用于调度任务,但它们的工作方式不同。 JavaScript 的异步特性 JavaScript 以其非阻塞、异步行为而闻名,尤其是在 Node.js 环境…...

【Java文件操作】文件系统操作文件内容操作

文件系统操作 常见API 在Java中,File类是用于文件和目录路径名的抽象表示。以下是一些常见的方法: 构造方法: File(String pathname):根据给定的路径创建一个File对象。File(String parent, String child):根据父路径…...

关于若依flowable的安装

有个项目要使用工作流功能,在网上看了flowable的各种资料,最后选择用若依RuoYi-Vue-Flowable这个项目来迁移整合。 一、下载项目代码: 官方项目地址:https://gitee.com/shenzhanwang/Ruoyi-flowable/ 二、新建数据库&#xff…...

猜数字困难版(1-10000)

小游戏&#xff0c;通过提示每次猜高或猜低以及每次猜中的位数&#xff0c;10次内猜中1-10000的一个数。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthde…...

ASPICE术语表

术语来源描述活动Automotive SPICE V4.0由利益相关方或参与方执行的任务用参数Automotive SPICE V4.0应用参数是包含了在系统或软件层级可被更改的数据的软件变量&#xff0c;他们影响系统或软件的行为和属性。应用参数的概念有两种表达方式:规范(分别包括变量名称、值域范围、…...

Knife4j:打造优雅的SpringBoot API文档

1. 为什么需要API文档&#xff1f; 在现代软件开发中,API文档的重要性不言而喻。一份清晰、准确、易于理解的API文档不仅能够提高开发效率,还能降低前后端沟通成本。今天,我们要介绍的Knife4j正是这样一款强大的API文档生成工具,它专为Spring Boot项目量身打造,让API文档的生成…...

数学建模笔记—— 多目标规划

数学建模笔记—— 多目标规划 多目标规划1. 模型原理1.1 多目标规划的一般形式1.2 多目标规划的解1.3 多目标规划的求解 2. 典型例题3. matlab代码实现 多目标规划 多目标规划是数学规划的一个分支。研究多于一个的目标函数在给定区域上的最优化。又称多目标最优化。通常记为 …...

【鸿蒙HarmonyOS NEXT】页面之间相互传递参数

【鸿蒙HarmonyOS NEXT】页面之间相互传递参数 一、环境说明二、页面之间相互传参 一、环境说明 DevEco Studio 版本&#xff1a; API版本&#xff1a;以12为主 二、页面之间相互传参 说明&#xff1a; 页面间的导航可以通过页面路由router模块来实现。页面路由模块根据页…...

SonicWall SSL VPN曝出高危漏洞,可能导致防火墙崩溃

近日&#xff0c;有黑客利用 SonicWall SonicOS 防火墙设备中的一个关键安全漏洞入侵受害者的网络。 这个不当访问控制漏洞被追踪为 CVE-2024-40766&#xff0c;影响到第 5 代、第 6 代和第 7 代防火墙。SonicWall于8月22日对其进行了修补&#xff0c;并警告称其只影响防火墙的…...

关于SAP标准委外(带料外协)采购订单信息

业务背景&#xff1a; 业务部门提出需要将售料外协方式变更为带料外协&#xff0c;带料外协实际业务存在一个委外订单存在多次发料&#xff0c;且每次发票需要进行齐套发料&#xff0c;不同批次的发料涉及物料替代。在半成品收货时需要进行对发料的组件进行扣料。 需求分析&a…...

SpringBoot整合WebSocket实现消息推送或聊天功能示例

最近在做一个功能&#xff0c;就是需要实时给用户推送消息&#xff0c;所以就需要用到 websocket springboot 接入 websocket 非常简单&#xff0c;只需要下面几个配置即可 pom 文件 <!-- spring-boot-web启动器 --><dependency><groupId>org.springframewo…...

使用 QEMU 模拟器运行 FreeRTOS 实时操作系统

文章目录 QEMU 官网QEMU 文档QEMU 简介QEMU 安装QEMU 命令启动虚拟机串口控制台监控命令行 FreeRTOS安装编译工具FreeRTOS 源码RISC-V-Qemu-virt_GCC 示例编译 RISC-V-Qemu-virt_GCC启动虚拟机运行 FreeRTOS QEMU 官网 https://www.qemu.org/ QEMU 文档 https://www.qemu.or…...

Oracle EBS中AR模块的财务流程概览

应收账款 (AR) 模块是Oracle E-Business Suite (EBS) 中另一个重要的财务管理模块&#xff0c;主要用于管理企业销售过程中的账款回收。下面是AR模块中的一些关键财务流程及其详细说明&#xff1a; 1. 销售订单管理 创建销售订单&#xff1a;当客户下单时&#xff0c;销售人员…...

Minitab 的直方图结果分析解释

Minitab 的直方图结果分析解释 步骤 1&#xff1a;评估关键特征 检查分布的尖峰和散布。评估样本数量对直方图外观的影响。 标识尖峰&#xff08;即&#xff0c;条的最高聚类&#xff09;&#xff1a; 尖峰表示样本中最常见的值。评估样本的散布以了解数据的变异程度。例如…...

AgentRE:用智能体框架提升知识图谱构建效果,重点是开源!

发布时间&#xff1a;2024 年 09 月 13 日 Agent应用 AgentRE: An Agent-Based Framework for Navigating Complex Information Landscapes in Relation Extraction 在复杂场景中&#xff0c;关系抽取 (RE) 因关系类型多样和实体间关系模糊而挑战重重&#xff0c;影响了传统 “…...

力扣题解2390

大家好&#xff0c;欢迎来到无限大的频道。 今日继续给大家带来力扣题解。 题目描述​&#xff08;中等&#xff09;&#xff1a; 从字符串中移除星号 给你一个包含若干星号 * 的字符串 s 。 在一步操作中&#xff0c;你可以&#xff1a; 选中 s 中的一个星号。 移除星号…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启&#xff0c;数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后&#xff0c;存在与用户组权限相关的问题。具体表现为&#xff0c;Oracle 实例的运行用户&#xff08;oracle&#xff09;和集…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架&#xff0c;用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录&#xff0c;以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件&#xff0c;这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下&#xff0c;实现高效测试与快速迭代&#xff1f;这一命题正考验着…...