matplotlib 中的subplot的用法「建议收藏」

matplotlib 中的subplot的用法「建议收藏」一个figure对象包含了多个子图,可以使用subplot()函数来绘制子图:(首先我没有想明白为啥会有这么多的内容来介绍这一个函数,后来知道了原来这个函数还真的挺多的内容)言简意赅:首先,它的

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一个figure对象包含了多个子图,可以使用subplot()函数来绘制子图:

  (首先我没有想明白为啥会有这么多的内容来介绍这一个函数,后来知道了原来这个函数还真的挺多的内容)

   言简意赅:

   首先,它的调用是这样子的:subplot(numbRow , numbCol ,plotNum ) or  subplot(numbRow numbCol plotNum),对。看清楚,可以不用逗号分开直接写在一起也是对的;

   解释一下这是啥玩意:

   numbRow是plot图的行数;numbCol是plot图的列数;plotNum是指第几行第几列的第几幅图 ;

   举个例子,如果是subplot (2 ,2 ,1),那么这个figure就是个2*2的矩阵图,也就是总共有4个图,1就代表了第一幅图

   也可以写成subplot(221),这是没毛病的哈。是不是超级简单!上个图:

matplotlib 中的subplot的用法「建议收藏」

 

看到没,我写的一个椒盐噪声的图,然后subplot可以分个写,只不过我用了一个循环的形式了;

 

对了,还有一种形式差点忘记说了,如果是只有3副图或者只有5副图的单数该怎么办?

 

这里就不能用循环操作了,因为3副图的话划分起来得重新排列:

  啥意思?比如说,画一个3副图的图像:

  首先将整个表按照 2*2 划分
  前两个简单, 分别是 (2, 2, 1)(2, 2, 2)

  但是第三个图呢, 他占用了 (2, 2, 3)(2, 2, 4)

  然后需要对其重新划分, 按照 2 * 1 划分

  前两个图占用了 (2, 1, 1) 的位置

  因此第三个图占用了 (2, 1, 2) 的位置

  直接上代码大家看一下,其实大同小异,语法都差不多;   

import matplotlib.pyplot as plt
import numpy as np

def f(t):
    return np.exp(-t) * np.sin(2 * np.pi * t)


if __name__ == '__main__':
    t1 = np.arange(-5, 5, 0.1)
    t2 = np.arange(-5, 5, 0.2)
    plt.figure()
    plt.subplot(221)
    plt.plot(t1, f(t1), 'bo', t2, f(t2), 'g--')
    plt.subplot(222)
    plt.plot(t2, np.cos(2 * np.pi * t2), 'g--')
    plt.subplot(212)
    plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
    plt.show()

  然后这是展示的结果 :

matplotlib 中的subplot的用法「建议收藏」

好了,基本上到这里已经差不多了,大家学会了么?

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/166779.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 左移(1_右移一位

    左移(1_右移一位今天在书上看到一段代码:http.Server{Addr:"8080"……MaxHeaderBytes:1<<20}知道1<<20是左移的意思,但就是

    2022年8月5日
    3
  • alexa全球排名怎样获取_非法访问是什么情况

    alexa全球排名怎样获取_非法访问是什么情况记录日期:2018.9.27标题测试开始于Censored*标签google.com3月2011100%Blocked,Domains,AlexaTop1000Domains,GoogleSites,URLsyoutube.com2月2011100%Blocked,Domains,AlexaTop1000Domains,URLsf…

    2025年8月26日
    10
  • mysql获取最近一条数据_mysql显示所有数据库

    mysql获取最近一条数据_mysql显示所有数据库关于mysql查询最近一条记录最近项目中遇到需要查询记录当前时间最近的一条记录的问题,开始感觉无从下手,后来逐步发现了三种解决方案。下策——查询出结果后将时间排序后取第一条select*fromawheretime<=”2017-03-2919:30:36″orderbytimedesclimit1这样做虽然可以取出当前时间最近的一条记录,但是一次查询需要将表遍历一遍,对于…

    2025年10月1日
    2
  • c++常用头文件和函数_C加加头文件

    c++常用头文件和函数_C加加头文件文章目录常用头文件下的函数介绍:cstring/string.h1.strlen()2.strcmp()3.strcpy()4.strcat()常用头文件下的函数介绍:cstring/string.hC语言提供了很多实用的数学函数,如果要使用,需要在程序开头添加头文件cstring或者string.h。//二者选一#include<cstring>#include<string.h>1.strlen()strlen(str)用于得到字符数组中第一个\0前

    2025年8月29日
    7
  • leetcode单调队列_单调栈leetcode

    leetcode单调队列_单调栈leetcode0x00单调栈主要回答这样的几种问题比当前元素更大的下一个元素比当前元素更大的前一个元素比当前元素更小的下一个元素比当前元素更小的前一个元素0x01问题一维护一个单调递减的栈。Leetcode496:下一个更大元素I(超详细的解法!!!)Leetcode503:下一个更大元素II(超详细的解法!!!)Leetcode739:每日温度(超详细的解法!!!)cl…

    2022年9月22日
    3
  • SSDP协议_sntp协议

    SSDP协议_sntp协议近来在研究SSDP,SimpleServiceDiscoveryProtocol(简单服务发现协议)。这是用来实现无配置,自发现局域网内部服务的协议。由IPv4下有固定的239.255.255.250:1900这一固定的地址来负责多播数据。不过,从我的学习经历来说,要啃这种东西,最好的方法还是用例子搞懂名词,并实践一次。其实SSDP协议的请求就三种:byeby

    2022年10月11日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号