Matplotlib subplot()函数用法详解

article/2025/8/29 17:55:36

Matplotlib subplot()函数用法详解

在使用 Matplotlib 绘图时,我们大多数情况下,需要将一张画布划分为若干个子区域,之后,我们就可以在这些区域上绘制不用的图形。在本节,我们将学习如何在同一画布上绘制多个子图。

matplotlib.pyplot模块提供了一个 subplot() 函数,它可以均等地划分画布,该函数的参数格式如下:

plt.subplot(nrows, ncols, index)

nrows 与 ncols 表示要划分几行几列的子区域(nrows*nclos表示子图数量),index 的初始值为1,用来选定具体的某个子区域。

例如: subplot(233)表示在当前画布的右上角创建一个两行三列的绘图区域(如下图所示),同时,选择在第 3 个位置绘制子图。

subplot()函数示意图

图1:示意图

如果新建的子图与现有的子图重叠,那么重叠部分的子图将会被自动删除,因为它们不可以共享绘图区域。

import matplotlib.pyplot as plt
plt.plot([1,2,3])

#现在创建一个子图,它表示一个有2行1列的网格的顶部图。
#因为这个子图将与第一个重叠,所以之前创建的图将被删除

plt.subplot(211)
plt.plot(range(12))
#创建带有黄色背景的第二个子图
plt.subplot(212, facecolor='y')
plt.plot(range(12))

上述代码运行结果,如下图所示:

subplot函数绘制子图

图2:subplot绘制结果

如果不想覆盖之前的图,需要使用 add_subplot() 函数,代码如下:

import matplotlib.pyplot as plt
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax1.plot([1,2,3])
ax2 = fig.add_subplot(221, facecolor='y')
ax2.plot([1,2,3])

执行上述代码,输出结果如下:

subplot绘图函数

图3:add_subplot()绘图结果

通过给画布添加 axes 对象可以实现在同一画布中插入另外的图像。

import matplotlib.pyplot as plt
import numpy as np
import math
x = np.arange(0, math.pi*2, 0.05)
fig=plt.figure()
axes1 = fig.add_axes([0.1, 0.1, 0.8, 0.8]) # main axes
axes2 = fig.add_axes([0.55, 0.55, 0.3, 0.3]) # inset axes
y = np.sin(x)
axes1.plot(x, y, 'b')
axes2.plot(x,np.cos(x),'r')
axes1.set_title('sine')
axes2.set_title("cosine")
plt.show()

输出结果如下:
matplotlib绘图

图4:输出结果图


http://chatgpt.dhexx.cn/article/IB7pB4v4.shtml

相关文章

Matplotlib中subplot以及subplots的用法

subplot 概述 matplotlib能够绘制精美的图表,但我们希望把一组图表放在一起进行比较,这时我们就需要用到subplot。 用法 plt.subplot()创建一个画像(figure)和一组子图(subplots),返回一个Figure实例fig和一个AcesSubplot实例ax,flg代表整…

[Matlab] subplot函数用法

subplot函数用法 subplot(a,b,c)顾名思义,sub的意思就是在一张图上画出子图出来 参数 a 表示子图有几行 参数 b 表示子图有几列 参数 c 表示当前子图的序号,也就是第几个图,这里从1开始的 subplot(2,3,1) plot([1, 0], [0, 1]) title({[sub…

python subplot

1. python 调用 matplotlib matploglib 能够绘制出精美的图表, 有些时候, 我们希望把一组图放在一起进行比较, 有没有什么好的方法呢? matplotlib 中提供的 subplot 可以很好的解决这个问题 2. subplot 函数中的属性 matplotlib下, 一个 Figure 对象可以包含多个子图(Axes…

plt.subplot()用法

subplot(nrows, ncols, plot_number) 或者写成subplot(nrows ncols plot_number)也行 这个很随意 哈哈 这个函数用来表示把figure分成nrows*ncols的子图表示, nrows:子图的行数 ncols:子图的列数 plot_number 索引值,表示把图画在…

subplot函数用法(MATLAB)

MATLAB中的函数----subplot(创建子图) 使用方法:subplot(m,n,p)或者subplot(m n p)。 subplot是将多个图画到一个平面上的工具。其中,m表示是图排成m行,n表示图排成…

matlab——subplot函数用法

MATLAB中的函数----subplot(创建子图) 使用方法:subplot(m,n,p)或者subplot(m n p)。 subplot是将多个图画到一个平面上的工具。参数m,n表示就像矩阵的m行n列一样,第三个参数控制…

subplot 的用法

plt.sublot(a,b,c)顾名思义,sub的意思就是在一张图上画出子图出来 参数 a 表示子图有几行 参数 b 表示子图有几列 参数 c 表示当前子图的序号,也就是第几个图,这里从1开始的 直接上代码配合画出的图能直观感受理解 先画一个2*2的图 imp…

代码雨

复制下面代码,并以.bat文件格式保存 echo off&mode con cols42 lines20&color 02 setlocal enabledelayedexpansion set code123456789abcdef set m1&set v1 title 代码雨 :begin set /a a%random%%%2,b%random%%%3 if %b% neq 0 (set b%a%) else (set…

代码雨代码源复制_用你的名字生成动态“代码雨”,这个特效好惊艳!

拥有一个程序猿特制手机桌面是一种什么样的体验呢?今天技能君给大家带来了一款很有意思的手机动态壁纸软件,它可以将你的名字设置成代码雨特效,会在手机桌面呈现满屏的动态“下雨”效果,十分酷炫! 在「全是技能」公众号…

python代码雨

# -*- coding: utf-8 -*- # Time : 2020/2/15 16:47 # Author : leechoy # File : 代码雨.py # Software: PyCharm import randomimport pygamePANEL_width 1080 PANEL_hight 500 FONT_PX 15pygame.init()# 创建一个可是窗口 winSur pygame.display.set_mode((PANEL_width,…

项目: 代码雨

目录 一、项目描述和最终的效果展示二、静态的代码雨三、一场动态的代码雨四、实现代码雨动画 一、项目描述和最终的效果展示 项目: 让字符从上到下依次的下落&#xff0c;呈现出代码雨。最终效果图如下所示: 二、静态的代码雨 代码如下: #include<graphics.h> #i…

cmd简单代码雨实现方法

相信不少网友在看一些科技或间谍之类电影的时候&#xff0c;可能会看到里面电脑屏幕上的绿色代码雨非常的炫酷。其实我们电脑也是可以实现一些cmd简单代码雨&#xff0c;那么如何实现cmd简单代码雨&#xff1f;下面小编就教下大家实现cmd简单代码雨教程。 具体的步骤如下&…

HTML5代码雨程序

上次我们制作了cmd的数字雨程序&#xff08;点击这里查看&#xff09;&#xff0c;这一次我们使用HTML来制作。 先简单介绍一下HTML&#xff1a; HTML又叫超文本标记语言&#xff0c;标准通用标记语言下的一个应用。 “超文本”就是指页面内可以包含图片、链接&#xff0c;甚至…

代码雨的实现

炫酷的代码雨 实现过程&#xff1a;在Java IDE里新建一个名为Rain的java文件 //package chapterAWTandSwing;import javax.swing.*; import javax.tools.Tool; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt…

cmd里实现代码雨

参考来源&#xff1a; https://zhidao.baidu.com/question/182311261665020644.html https://www.jianshu.com/p/d8af4e7bfbae https://blog.csdn.net/weixin_42848594/article/details/81626967 操作&#xff1a; 新建txt文件 粘贴代码 将其保存为.bat格式&#xff0c;…

代码雨实现原理与代码分析

闲来无事&#xff0c;好奇代码雨是怎么实现的&#xff0c;早就听说是利用链表&#xff0c;但自己却想不出实现的思路&#xff0c;花了两个晚上把代码看完了&#xff0c;分析都在代码里&#xff0c;先看下效果吧。 在贴代码之前先简单说下代码&#xff0c;方便读者加深理解。 代…

代码雨的程序

类似代码雨的一个程序 蒟蒻拿来献丑了 #include <graphics.h> #include <time.h> #include <conio.h>int main() {srand((unsigned)time(NULL));initgraph(640, 480);int x, y;char s[3] { 0 };while (!_kbhit()){for (int i 0; i < 479; i){setcolor(…

Python制作代码雨

我一个朋友在某音看到了这玩意儿。它非得让我也搞一个。 反正也无聊就简单写了一个 简单设计&#xff1a; 1.黑色背景&#xff0c;绿色字体&#xff0c;内容为随机符号-----pygame和random 2.下落&#xff0c;显示&#xff0c;刷新 直接上代码&#xff1a; python 3.9 p…

【HTML——代码雨】(效果+代码)

关于“代码雨”,我已经写过许多种了。那么今天,再送给大家一款,希望大家喜欢! 效果展示 代码 很简洁,下面即为全部源代码喔 ~ HTML——代码雨.html <!doctype html> <html><head>

代码雨源代码

代码雨 #include <windows.h> #define ID_TIMER 1 #define STRMAXLEN 25 //一个显示列的最大长度 #define STRMINLEN 8 //一个显示列的最小长度 LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; // // typedef struct tagCharChain //整个当作屏幕的…