subplot 订阅
subplot是MATLAB中的函数,是将多个图画到一个平面上的工具。在matlab的命令窗口中输入doc subplot或者help subplot即可获得该函数的帮助信息。 展开全文
subplot是MATLAB中的函数,是将多个图画到一个平面上的工具。在matlab的命令窗口中输入doc subplot或者help subplot即可获得该函数的帮助信息。
信息
函数功能
是将多个图画到一个平面上的工具
函数简介
subplot是MATLAB中的函数
相似函数
plot()
中文名
分块图
外文名
subplot
应用软件
MATLAB
subplot函数功能
subplot是MATLAB中的函数。使用方法:subplot(m,n,p)或者subplot(m n p)。subplot是将多个图画到一个平面上的工具。其中,m表示是图排成m行,n表示图排成n列,也就是整个figure中有n个图是排成一行的,一共m行,如果m=2就是表示2行图。p表示图所在的位置,p=1表示从左到右从上到下的第一个位置。在matlab的命令窗口中输入doc subplot或者help subplot即可获得该函数的帮助信息。
收起全文
精华内容
下载资源
问答
  • matlab指令subplot
    2021-04-26 11:03:43

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

    matlab指令大全_医学_高等教育_教育专区。matlab指令大全 ?/P&g...

    常用Matlab 作图命令 1.概率统计作图 1.1 绘出正态分布的密度函数曲线...

    %单尺度一维离散小波变换; load noissin; s=noissin(1:1000); subplot(411);plot(s) [ca1,cd1]=dwt(s,'haar'); subplot(423);plot(ca1) ylabel('haar......

    matlab 命令 一、常用对象操作:除了一般 windows 窗口的常用功能键...

    (punct) strcmp 比较字符串 String 图形对象属性-字符串 subexpr 运用符号变量置换子表达式 subplot 创建子图 subs 通用置换指令 sum 元素和 summer 绿、黄浓淡色......

    matlab 画图命令积累 aimit 2009-08-26 23:49 发表 subplot(3,2,1) plot(x) title('默认格式') subplot(3,2,2) plot(x) set(gca,'xtick',[1 3 ......

    MATLAB 命令中文翻译大全 MATLAB Translations 1. MATLAB 命令大全 管理命令和函数 help 在线帮助文件 doc 装入超文本说明 what M、MAT、MEX 文件的目录列表 type ......

    (gca,'XMinorGrid','off'); 3、matlab 坐标刻度调整 subplot(3,2,1) plot(x) title('默认格式') subplot(3,2,2) plot(x) set(gca,'xtick',[1 3......

    Matlab基础(4)(绘图指令)解析_中职中专_职业教育_教育专区。第四讲 matlab 绘图 ——matlab语言丰富的图形 表现方法,使得数学计算结 果可以方便地、多样性地实 ......

    %单尺度一维离散小波变换; load noissin; s=noissin(1:1000); subplot(411);plot(s) [ca1,cd1]=dwt(s,'haar'); subplot(423);plot(ca1) ylabel('haar......

    数学实验与Matlab Matlab工作环境 ? ? ? ? ? 命令窗口 M文件 工作空间 clc, clf,clear,load,save 帮助 Matlab 基本指令 向量的创建和运算 Matrix lab ? 要点......

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

    解卷 delaunay Delaunay 三角剖分 del2 离散 Laplacian 差分 demo Matlab 演示 det 行列式 diag 矩阵对角元素提取、创建对角阵 diary Matlab 指令窗文本内容记录 ......

    y2=exp(0*t); y3=exp(0.5*t); Subplot(1 3 1); plot(t,y1); Subplot(1 3 2); plot(t,y2); Subplot(1 3 3); plot(t,y3); Matlab命令......

    MATLAB 命令中文翻译大全 MATLAB Translations 1. MATLAB 命令大全 管理命令和函数 help 在线帮助文件 doc 装入超文本说明 what M、MAT、MEX 文件的目录列表 type ......

    繪圖指令 輸入 Matlab 指令 說明 x=-pi:pi/10:pi; 畫出 y=sin(x)在±π y=sin(x) 間的圖形,x 間距 plot(x,y) 為π/10 subplot(221); 將繪圖......

    图形窗口的分割 MATLAB绘图命令可以将绘图窗口分割成几个区域,在各个 区域中分别绘图。命令subplot(m,n,p)将当前绘图窗口分割成m行n列 区域,并指定第p个编号......

    ('一季度','二季度','三季度','四季度'); subplot(1,2,2); compass([7+2.9i,2-3i,-1.5-6i]); title('相量图'); 5.3 隐函数绘图 MATLAB ......

    1.概率统计作图 常用 Matlab 作图命令 1.1 绘出正态分布的密度函数曲...

    更多相关内容
  • 主要介绍了Python使用add_subplotsubplot画子图操作,涉及Python使用matplotlib模块进行图形绘制的相关操作技巧,需要的朋友可以参考下
  • 1、subplot(m,n,p) 将当前图窗划分为 m×n 网格,并在 p 指定的位置创建坐标区。MATLAB:registered: 按行号对子图位置进行编号。第一个子图是第一行的第一列,第二个子图是第一行的第二列,依此类推。如果指定的位置...
  • 今天小编就为大家分享一篇python matplotlib中的subplot函数使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 主要介绍了Python figure参数及subplot子图绘制代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 在matplotlib下,一个Figure对象可以包含多个子图(Axes),可以使用subplot()快速绘制,其调用形式如下: subplot(numRows, numCols, plotNum) 图表的整个绘图区域被分成numRows行和numCols列,plotNum参数指定...
  • [subplot_handles,LabelsFontSize] = subplotplus(subplot_array,varargin) 是 MATLAB 的继承 subplot() 函数的增强替代方案。 使用 subplotplus() 几乎可以在特定图形中创建任何子图布局。 所需的子图布局使用复杂...
  • Matplotlib在一张画布上画多个图的两种方法,plt.subplot,plt.subplots。 目录回顾plt.subplots()画法plt.subplot()画法保存 回顾 之前也用过plt.subplots()在一张图上画过多个图,今天看到用plt.subplot()的画法想...
  • 主要介绍了Python matplotlib读取excel数据并用for循环画多个子图subplot操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • subplot2plot 将每个子图块复制到单独的图形窗口 用法: subplot2plot 或 subplot2plot([]) 检查所有打开的图形窗口子图的存在,并将它们复制到单独的图形窗口。 传奇% 和颜色条与绘图一起使用。 subplot2plot...
  • ADDSUBPLOT将现有轴移动到子图并添加新的子图 添加子图ADDSUBPLOT(其中) ADDSUBPLOT(h,___) ADDSUBPLOT(___,name,value,...) ADDSUBPLOTS 将首先检查是否有未使用的子图位置数字。 如果是,将在该位置创建一个...
  • Python matplotlib读读取取excel数数据据并并用用for循循环环画画多多个个子子图图subplot操操作作 这篇文章主要介绍了Python matplotlib读取excel数据并用for循环画多个子图subplot操作具有很好的参考价值 希望对大...
  • 主要介绍了matplotlib subplot绘制多个子图的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 文章目录subplot使用情形一:规则划分情形二:不规则划分 subplot使用 subplot: matplotlib下, 一个 Figure 对象可以包含多个子图(Axes), 可以使用 subplot() 快速绘制 subplot(numRows, numCols, plotNum) 图表的...
  • subplot_common_colobar.zip

    2020-11-09 13:48:44
    matlab笔记——subplot多个子图共用一个colorbar https://blog.csdn.net/qq_27984679/article/details/109573577
  • 主要介绍了python使用matplotlib:subplot绘制多个子图的示例,帮助大家更好的利用python绘制图像,感兴趣的朋友可以了解下
  • 这是如何在 MATLAB:registered: 中创建具有多种绘图类型的子图的示例。 阅读 MATLAB 文档中的“subplot”函数。 有关更多示例,请转到 MATLAB 绘图库 - http://www.mathworks.com/discovery/gallery.html
  • 15.多子图-Subplot 15.1.Subplot: 使用多个figures和 axes 15.2.替代解决方案: 15.多子图-Subplot Matplotlib绘图时一个常见问题是如何在一个图中包含多个图。即如何实现在一个窗口中有多个图形,每个图形都出现在...

    15.多子图-Subplot
    15.1.Subplot: 使用多个figures和 axes
    15.2.替代解决方案:

    15.多子图-Subplot

    Matplotlib绘图时一个常见问题是如何在一个图中包含多个图。即如何实现在一个窗口中有多个图形,每个图形都出现在子图中。
    我们将使用两种不同的方法来实现这一目标:
    subplot
    gridspec

    15.1.Subplot: 使用多个figures和 axes

    subplot及其参数:
    subplot(nrows, ncols, plot_number)
    如果将subplot应用于一个figure,则该figure将在概念上分为nrows * ncols个子轴。
    参数plot_number标识函数调用创建的subplot。 plot_number的范围可以从1到最大nrows * ncols。
    如果三个参数的值小于10,则可以使用一个int参数调用函数subplot,其中百位数表示nrows,十位数表示ncols,个位数表示plot_number。 这意味着:可以写subplot(234)来代替subplot(2, 3, 4) 。

    在下面的示例中,我们实现一个2x2网格的两个子图:

    import matplotlib.pyplot as plt
    plt.figure(figsize=(6, 4))
    plt.subplot(221) # equivalent to: plt.subplot(2, 2, 1)
    plt.text(0.5, # x coordinate, 0 leftmost positioned, 1 rightmost
             0.5, # y coordinate, 0 topmost positioned, 1 bottommost
             'subplot(2,2,1)', # the text which will be printed (2,2,1即:2行,2列,第1个个位置)
             horizontalalignment='center', # shortcut 'ha'
             verticalalignment='center', # shortcut 'va'
             fontsize=20, # can be named 'font' as well
             alpha=.7 # float (0.0 transparent through 1.0 opaque)
             )
    python_course_green = "#90EE90"
    # 224即:2行,2列,第4个位置
    plt.subplot(224, facecolor=python_course_green)
    plt.text(0.5, 0.5,
             'subplot(2,2,4)',
             ha='center', va='center',
             fontsize=20,
             color="b")
    
    plt.show()
    

    在这里插入图片描述

    如果不需要在轴上设置刻度,可以将它们设置为空元组,并添加以下代码行:

    plt.xticks(())
    
    import matplotlib.pyplot as plt
    plt.figure(figsize=(6, 4))
    plt.subplot(221) # equivalent to: plt.subplot(2, 2, 1)
    plt.xticks(())
    plt.yticks(())
    plt.text(0.5, # x coordinate, 0 leftmost positioned, 1 rightmost
             0.5, # y coordinate, 0 topmost positioned, 1 bottommost
             'subplot(2,2,1)', # the text which will be printed
             horizontalalignment='center', # shortcut 'ha'
             verticalalignment='center', # shortcut 'va'
             fontsize=20, # can be named 'font' as well
             alpha=.7 # float (0.0 transparent through 1.0 opaque)
             )
    python_course_green = "#90EE90"
    plt.subplot(224, facecolor=python_course_green)
    plt.xticks(())
    plt.yticks(())
    plt.text(0.5, 0.5,
             'subplot(2,2,4)',
             ha='center', va='center',
             fontsize=20,
             color="b")
    plt.show()
    

    在这里插入图片描述

    我们还可以使用Figure类的实例即使用面向对象的方法。
    下面重写前面的例子来展示。 在这种情况下,将add_subplot方法应用于Figure对象。

    import matplotlib.pyplot as plt
    fig = plt.figure(figsize=(6, 4))
    sub1 = fig.add_subplot(221) # equivalent to: plt.subplot(2, 2, 1)
    sub1.text(0.5, # x coordinate, 0 leftmost positioned, 1 rightmost
              0.5, # y coordinate, 0 topmost positioned, 1 bottommost
              'subplot(2,2,1)', # the text which will be printed
              horizontalalignment='center', # shortcut 'ha'
              verticalalignment='center', # shortcut 'va'
              fontsize=20, # can be named 'font' as well
              alpha=.7 # float (0.0 transparent through 1.0 opaque)
              )
    python_course_green = "#90EE90"
    sub2 = fig.add_subplot(224, facecolor=python_course_green)
    sub2.text(0.5, 0.5,
              'subplot(2,2,4)',
              ha='center', va='center',
              fontsize=20,
              color="b")
    plt.show()
    

    在这里插入图片描述

    让我们再次去除刻度。 这次不能使用plt.xticks(())和plt.yticks(())。 而必须使用set_xticks(())和set_yticks(())方法。

    import matplotlib.pyplot as plt
    fig = plt.figure(figsize=(6, 4))
    sub1 = fig.add_subplot(221) # equivalent to: plt.subplot(2, 2, 1)
    sub1.set_xticks([]) 
    sub1.set_yticks([]) 
    sub1.text(0.5, # x coordinate, 0 leftmost positioned, 1 rightmost
              0.5, # y coordinate, 0 topmost positioned, 1 bottommost
              'subplot(2,2,1)', # the text which will be printed
              horizontalalignment='center', # shortcut 'ha' 
              verticalalignment='center', # shortcut 'va'
              fontsize=20, # can be named 'font' as well
              alpha=.5 # float (0.0 transparent through 1.0 opaque)
              )
    sub2 = fig.add_subplot(224, facecolor=python_course_green)
    sub2.set_xticks([])
    sub2.set_yticks([]) 
    python_course_green = "#90EE90"
    sub2.text(0.5, 0.5, 
              'subplot(2,2,4)', 
              ha='center', va='center',
              fontsize=20, 
              color="b")
    plt.show()
    

    在这里插入图片描述
    前面的示例仅显示如何创建subplot设计。 下面我们演示如何使用一些真实的图填充先前的子图设计:

    import numpy as np
    from numpy import e, pi, sin, exp, cos
    import matplotlib.pyplot as plt
    def f(t):
        return exp(-t) * cos(2*pi*t)
    def fp(t):
        return -2*pi * exp(-t) * sin(2*pi*t) - e**(-t)*cos(2*pi*t)
    def g(t):
        return sin(t) * cos(1/(t+0.1))
    def g(t):
        return sin(t) * cos(1/(t))
    fig = plt.figure(figsize=(6, 4))
    t = np.arange(-5.0, 1.0, 0.1)
    sub1 = fig.add_subplot(221) # instead of plt.subplot(2, 2, 1)
    sub1.set_title('The function f') # non OOP: plt.title('The function f')
    sub1.plot(t, f(t))
    sub2 = fig.add_subplot(222, facecolor="lightgrey")
    sub2.set_title('fp, the derivation of f')
    sub2.plot(t, fp(t))
    t = np.arange(-3.0, 2.0, 0.02)
    sub3 = fig.add_subplot(223)
    sub3.set_title('The function g')
    sub3.plot(t, g(t))
    t = np.arange(-0.2, 0.2, 0.001)
    sub4 = fig.add_subplot(224, facecolor="lightgrey")
    sub4.set_title('A closer look at g')
    sub4.set_xticks([-0.2, -0.1, 0, 0.1, 0.2])
    sub4.set_yticks([-0.15, -0.1, 0, 0.1, 0.15])
    sub4.plot(t, g(t))
    plt.plot(t, g(t))
    plt.tight_layout()
    plt.show()
    

    在这里插入图片描述

    另外一个例子:

    import  matplotlib.pyplot as plt
    X = [ (2,1,1), (2,3,4), (2,3,5), (2,3,6) ]
    for nrows, ncols, plot_number in X:
        plt.subplot(nrows, ncols, plot_number)
    plt.show()
    

    在这里插入图片描述

    以下示例没有任何特殊之处。 我们将去除xticks并改变figure和subplots的大小。 为此,引入figure的关键字参数figsize和函数subplot_adjust及其关键字参数bottom, left,top, right:

    import  matplotlib.pyplot as plt
    fig =plt.figure(figsize=(6,4))
    fig.subplots_adjust(bottom=0.025, left=0.025, top = 0.975, right=0.975)
    X = [ (2,1,1), (2,3,4), (2,3,5), (2,3,6) ]
    for nrows, ncols, plot_number in X:
        sub = fig.add_subplot(nrows, ncols, plot_number)
        sub.set_xticks([])
        sub.set_yticks([])
    plt.show()
    

    在这里插入图片描述

    15.2.替代解决方案:

    由于需要合并2x3网格的前三个子图,因此可以选择元组表示,在(2,3,(1,3))中(1,3) 含义为一个2x3网格的前三个元素进行了合并:

    import  matplotlib.pyplot as plt
    fig =plt.figure(figsize=(6,4))
    fig.subplots_adjust(bottom=0.025, left=0.025, top = 0.975, right=0.975)
    X = [ (2,3,(1,3)), (2,3,4), (2,3,5), (2,3,6) ]
    for nrows, ncols, plot_number in X:
        sub = fig.add_subplot(nrows, ncols, plot_number)
        sub.set_xticks([])
        sub.set_yticks([])
    plt.show()
    

    在这里插入图片描述

    展开全文
  • 前些日子学习Python可视化分析的时候,参考的是网上的文档和代码,不少细节文档都没明说,对新手不是很友好,我学习之后对不少代码以个人理解做了详细的注解,希望对大家有所帮助!
  • 调用 subplot() 函数可以创建一个子图,然后程序就可以在子图上进行绘制。subplot(nrows, ncols, index, **kwargs) 函数的 nrows 参数指定将数据图区域分成多少行;ncols 参数指定将数据图区域分成多少列;index ...

    使用 Matplotlib 除可以生成包含多条折线的复式折线图之外,它还允许在一张数据图上包含多个子图。

    调用 subplot() 函数可以创建一个子图,然后程序就可以在子图上进行绘制。subplot(nrows, ncols, index, **kwargs) 函数的 nrows 参数指定将数据图区域分成多少行;ncols 参数指定将数据图区域分成多少列;index 参数指定获取第几个区域。

    subplot() 函数也支持直接传入一个三位数的参数,其中第一位数将作为 nrows 参数;第二位数将作为 ncols 参数;第三位数将作为 index 参数。

    下面程序示范了生成多个子图:

    import matplotlib.pyplot as plt import numpy as np plt.figure() # 定义从-pi到pi之间的数据,平均取64个数据点 x_data = np.linspace(-np.pi, np.pi, 64, endpoint=True) # ① # 将整个figure分成两行两列,第三个参数表示该图形放在第1个网格 plt.subplot(2, 2, 1) # 绘制正弦曲线 plt.plot(x_data, np.sin(x_data)) plt.gca().spines['right'].set_color('none') plt.gca().spines['top'].set_color('none') plt.gca().spines['bottom'].set_position(('data', 0)) plt.gca().spines['left'].set_position(('data', 0)) plt.title('正弦曲线') # 将整个figure分成两行两列,并将该图形放在第2个网格 plt.subplot(222) # 绘制余弦曲线 plt.plot(x_data, np.cos(x_data)) plt.gca().spines['right'].set_color('none') plt.gca().spines['top'].set_color('none') plt.gca().spines['bottom'].set_position(('data', 0)) plt.gca().spines['left'].set_position(('data', 0)) plt.title('余弦曲线') # 将整个figure分成两行两列,并该图形放在第3个网格 plt.subplot(223) # 绘制正切曲线 plt.plot(x_data, np.tan(x_data)) plt.gca().spines['right'].set_color('none') plt.gca().spines['top'].set_color('none') plt.gca().spines['bottom'].set_position(('data', 0)) plt.gca().spines['left'].set_position(('data', 0)) plt.title('正切曲线') plt.show()

    上面程序多次调用 subplot() 函数来生成子图,每次调用 subplot() 函数之后的代码表示在该子图区域绘图。上面程序将整个数据图区域分成 2×2 的网格,程序分别在第 1 个网格中绘制正弦曲线,在第 2 个网格中绘制余弦曲线,在第 3 个网格中绘制正切曲线。

    可能有读者感到疑问,plot() 函数不是用于绘制折线图的吗?怎么此处还可用于绘制正弦曲线、余弦曲线呢?

    其实此处绘制的依然是折线图。看程序中的 ① 号代码调用 numpy 的 linspace() 函数生成了一个包含多个数值的列表,该数值列表的范围是从 -pi 到 pi,平均分成 64 个数据点,程序中用到的 numpy.sin()、numpy.cos()、numpy.tan() 等函数也返回一个列表:传入这些函数的列表包含多少个值,这些函数返问的列表也包含多少个值。

    这意味着上面程序所给制的折线图会包含 64 个转折点,由于这些转折点非常密集,看上去显得比较光滑,因此就变成了曲线。

    如果读者将程序中x_data=np.linespace(-np.pi,np.pi,64,endpoint = True)代码的 64 改为4、6等较小的数,将会看到程序绘制的依然是折线图。

    运行上面程序,可以看到如图 1 所示的效果。

    图 1 生成多个子图

    如图 1 所示的显示效果比较差,程序明明只要显示 3 个子图,但第 4 个位置被空出来了,能不能让某个子图占多个网格昵?答案是肯定的,程序做好控制即可。例如,将上面程序改为如下形式:

    import matplotlib.pyplot as plt import numpy as np plt.figure() # 定义从-pi到pi之间的数据,平均取64个数据点 x_data = np.linspace(-np.pi, np.pi, 64, endpoint=True) # ① # 将整个figure分成两行一列,第三个参数表示该图形放在第1个网格 plt.subplot(2, 1, 1) # 省略绘制正弦曲线 ... # 将整个figure分成两行两列,并将该图形放在第4个网格 plt.subplot(223) # 省略绘制余弦曲线 ... # 将整个figure分成两行两列,并该图形放在第4个网格 plt.subplot(224) #省略绘制正切曲线 ... plt.show()

    上面程序中第 8 行代码将整个区域分成两行一列,并指定子图占用第 1 个网格,也就是整个区域的第一行:第 13 行代码将整个区域分成两行两列,并指定子图占用第 3 个网格(注意不是第 2 个网络,因为第一个子图已经占用了第一行,对于两行两列的网格来说,第一个子图已经占用了两个网格,因此此处指定子图占用第 3 个网格,这意味着该子图在第二行第一格);第 18 行代码将整个区域分成两行两列,并指定子图占用第 4 个网格,这意味着该子图会在第二行第二格。

    运行上面程序,可以看到如图 2 所示的效果。

    图 2 控制多个子图的分布

    如果读者不想这么费劲来计算行、列,将上面程序改为如下形式:

    import matplotlib.pyplot as plt import numpy as np import matplotlib.gridspec as gridspec plt.figure() # 定义从-pi到pi之间的数据,平均取64个数据点 x_data = np.linspace(-np.pi, np.pi, 64, endpoint=True) # ① # 将绘图区域分成2行3列 gs = gridspec.GridSpec(2, 3) # 指定ax1占用第一行(0)整行 ax1 = plt.subplot(gs[0, :]) # 指定ax1占用第二行(1)的第一格(第二个参数0代表) ax2 = plt.subplot(gs[1, 0]) # 指定ax1占用第二行(1)的第二、三格(第二个参数0代表) ax3 = plt.subplot(gs[1, 1:3]) # 绘制正弦曲线 ax1.plot(x_data, np.sin(x_data)) ax1.spines['right'].set_color('none') ax1.spines['top'].set_color('none') ax1.spines['top'].set_color('none') ax1.spines['bottom'].set_position(('data', 0)) ax1.spines['left'].set_position(('data', 0)) ax1.set_title('正弦曲线') # 绘制余弦曲线 ax2.plot(x_data, np.cos(x_data)) ax2.spines['right'].set_color('none') ax2.spines['top'].set_color('none') ax2.spines['bottom'].set_position(('data', 0)) ax2.spines['left'].set_position(('data', 0)) ax2.set_title('余弦曲线') # 绘制正切曲线 ax3.plot(x_data, np.tan(x_data)) ax3.spines['right'].set_color('none') ax3.spines['top'].set_color('none') ax3.spines['bottom'].set_position(('data', 0)) ax3.spines['left'].set_position(('data', 0)) ax3.set_title('正切曲线') plt.show()

    上面程序中的第 10 行代码将绘图区域分成两行三列;第 12 行代码调用 subplot(gs[0,:]),指定 ax1子图区域占用第一行整行,其中第一个参数 0 代表行号,没有指定列范围,因此该子图在整个第一行;第 14 行代码调用 subplot(gs[1, 0]),指定 ax2 子图区域占用第二行的第一格,其中第一个参数 1 代表第二行,第二个参数 0 代表第一格,因此该子图在第二行的第一格;第 16 行代码调用 subplot(gs [1 , 1 : 3]),指定 ax3 子图区域占用第二行的第二格到第三格,其中第一个参数 1 代表第二行,第二个参数 1:3 代表第二格到第三格,因此该子图在第二行的第二格到第三格。

    定义完 ax1、ax2、ax3 这 3 个子图所占用的区域之后,接下来程序就可以通过 ax1、ax2、ax3 的方法在各自的子图区域绘图了。运行上面程序,可以看到如图 3 所示的效果。

    图 3 使用 GridSpec 管理子图的分布

    展开全文
  • 资源名:tight_subplot_livemapcovid19_matlab 资源类型:matlab项目全套源码 源码说明: 全部项目源码都是经过测试校正后百分百成功运行的,如果您下载后不能运行可联系我进行指导或者更换。 适合人群:新手及有...
  • subplot分图展示 均匀分图 matplotlib 是可以组合许多的小图, 放在一张大图里面显示的. 使用到的方法叫作 subplot. 使用import导入matplotlib.pyplot模块, 并简写成plt. 使用plt.f...

    subplot分图展示


    • 均匀分图

    matplotlib 是可以组合许多的小图, 放在一张大图里面显示的. 使用到的方法叫作 subplot.
    使用import导入matplotlib.pyplot模块, 并简写成plt. 使用plt.figure创建一个图像窗口.

    import matplotlib.pyplot as plt
    
    plt.figure()
    

    使用plt.subplot来创建小图. plt.subplot(2,2,1)表示将整个图像窗口分为2行2列, 当前位置为1. 使用plt.plot([0,1],[0,1])在第1个位置创建一个小图.
    plt.subplot(2,2,2)表示将整个图像窗口分为2行2列, 当前位置为2. 使用plt.plot([0,1],[0,2])在第2个位置创建一个小图.
    plt.subplot(2,2,3)表示将整个图像窗口分为2行2列,当前位置为3. plt.subplot(2,2,3)可以简写成plt.subplot(223), matplotlib同样可以识别. 使用plt.plot([0,1],[0,3])在第3个位置创建一个小图.
    plt.subplot(224)表示将整个图像窗口分为2行2列, 当前位置为4. 使用plt.plot([0,1],[0,4])在第4个位置创建一个小图.

    plt.subplot(2, 2, 1)
    
    plt.plot([0, 1], [0, 1])
    
    
    
    plt.subplot(222)
    
    plt.plot([0, 1], [0, 2])
    
    
    
    plt.subplot(223)
    
    plt.plot([0, 1], [0, 3])
    
    
    
    plt.subplot(224)
    
    plt.plot([0, 1], [0, 4])
    
    
    
    plt.tight_layout()
    

    这里写图片描述


    • 不均匀图中图

    如果希望展示的小图的大小不相同, 应该怎么做呢? 以上面的4个小图为例, 如果把第1个小图放到第一行, 而剩下的3个小图都放到第二行.
    使用plt.subplot(2,1,1)将整个图像窗口分为2行1列, 当前位置为1. 使用plt.plot([0,1],[0,1])在第1个位置创建一个小图.

    plt.subplot(2,1,1)
    plt.plot([0,1],[0,1])
    

    使用plt.subplot(2,3,4)将整个图像窗口分为2行3列, 当前位置为4. 使用plt.plot([0,1],[0,2])在第4个位置创建一个小图.

    plt.subplot(2,3,4)
    plt.plot([0,1],[0,2])
    

    这里需要解释一下为什么第4个位置放第2个小图. 上一步中使用plt.subplot(2,1,1)将整个图像窗口分为2行1列, 第1个小图占用了第1个位置, 也就是整个第1行. 这一步中使用plt.subplot(2,3,4)将整个图像窗口分为2行3列, 于是整个图像窗口的第1行就变成了3列, 也就是成了3个位置, 于是第2行的第1个位置是整个图像窗口的第4个位置.

    使用plt.subplot(235)将整个图像窗口分为2行3列,当前位置为5. 使用plt.plot([0,1],[0,3])在第5个位置创建一个小图. 同上, 再创建plt.subplot(236).

    plt.subplot(235)
    plt.plot([0,1],[0,3])
    
    plt.subplot(236)
    plt.plot([0,1],[0,4])
    
    plt.show()  # 展示
    

    完整代码:

    # -*- coding: utf-8 -*-
    """
    Created on Tue Dec 19 17:39:56 2017
    
    @author: elenawang
    """
    
    import matplotlib.pyplot as plt
    
    
    
    plt.figure(figsize=(6, 4))
    
    # plt.subplot(n_rows, n_cols, plot_num)
    
    plt.subplot(2, 2, 1)
    
    plt.plot([0, 1], [0, 1])
    
    
    
    plt.subplot(222)
    
    plt.plot([0, 1], [0, 2])
    
    
    
    plt.subplot(223)
    
    plt.plot([0, 1], [0, 3])
    
    
    
    plt.subplot(224)
    
    plt.plot([0, 1], [0, 4])
    
    
    
    plt.tight_layout()
    
    
    
    # example 2:
    
    ###############################
    
    plt.figure(figsize=(6, 4))
    
    # plt.subplot(n_rows, n_cols, plot_num)
    
    plt.subplot(2, 1, 1)
    
    # figure splits into 2 rows, 1 col, plot to the 1st sub-fig
    
    plt.plot([0, 1], [0, 1])
    
    
    
    plt.subplot(234)
    
    # figure splits into 2 rows, 3 col, plot to the 4th sub-fig
    
    plt.plot([0, 1], [0, 2])
    
    
    
    plt.subplot(235)
    
    # figure splits into 2 rows, 3 col, plot to the 5th sub-fig
    
    plt.plot([0, 1], [0, 3])
    
    
    
    plt.subplot(236)
    
    # figure splits into 2 rows, 3 col, plot to the 6th sub-fig
    
    plt.plot([0, 1], [0, 4])
    
    
    
    
    
    plt.tight_layout()
    
    plt.show()
    



    subplot分格展示


    - subplot2grid

    在做kaggle 比赛查询的时候在一些博主的代码中发现这个函数
    ax1 = plt.subplot2grid((3,3), (0,0), colspan=3)  
    ax2 = plt.subplot2grid((3,3), (1,0), colspan=2)  #col 显示图形占2列
    ax3 = plt.subplot2grid((3,3), (1, 2), rowspan=2)  #row 显示图形占2行
    ax4 = plt.subplot2grid((3,3), (2, 0))  
    ax5 = plt.subplot2grid((3,3), (2, 1))  
    plt.suptitle("subplot2grid")  
    
    这里写图片描述

    使用import导入matplotlib.pyplot模块, 并简写成plt. 使用plt.figure()创建一个图像窗口

    import matplotlib.pyplot as plt
    
    plt.figure()
    
    ax1 = plt.subplot2grid((3, 3), (0, 0), colspan=3)  # stands for axes
    
    ax1.plot([1, 2], [1, 2])
    
    ax1.set_title('ax1_title')
    

    使用plt.subplot2grid来创建第1个小图, (3,3)表示将整个图像窗口分成3行3列, (0,0)表示从第0行第0列开始作图,colspan=3表示列的跨度为3, rowspan=1表示行的跨度为1. colspan和rowspan缺省, 默认跨度为1.

    使用plt.subplot2grid来创建第2个小图, (3,3)表示将整个图像窗口分成3行3列, (1,0)表示从第1行第0列开始作图,colspan=2表示列的跨度为2. 同上画出 ax3, (1,2)表示从第1行第2列开始作图,rowspan=2表示行的跨度为2. 再画一个 ax4 和 ax5, 使用默认 colspan, rowspan.

    ax2 = plt.subplot2grid((3, 3), (1, 0), colspan=2)
    
    ax3 = plt.subplot2grid((3, 3), (1, 2), rowspan=2)
    
    ax4 = plt.subplot2grid((3, 3), (2, 0))
    ax4.scatter([1, 2], [2, 2])
    
    ax4.set_xlabel('ax4_x')
    
    ax4.set_ylabel('ax4_y')
    
    ax5 = plt.subplot2grid((3, 3), (2, 1))
    

    使用ax4.scatter创建一个散点图, 使用ax4.set_xlabel和ax4.set_ylabel来对x轴和y轴命名.
    这里写图片描述


    - gridspec
    使用import导入matplotlib.pyplot模块, 并简写成plt. 使用import导入matplotlib.gridspec, 并简写成gridspec.
    用plt.figure()创建一个图像窗口, 使用gridspec.GridSpec将整个图像窗口分成3行3列.

    import matplotlib.pyplot as plt
    
    import matplotlib.gridspec as gridspec
    
    plt.figure()
    
    gs = gridspec.GridSpec(3, 3)
    

    使用plt.subplot来作图, gs[0, :]表示这个图占第0行和所有列, gs[1, :2]表示这个图占第1行和第2列前的所有列, gs[1:, 2]表示这个图占第1行后的所有行和第2列, gs[-1, 0]表示这个图占倒数第1行和第0列, gs[-1, -2]表示这个图占倒数第1行和倒数第2列.

    ax6 = plt.subplot(gs[0, :])
    
    ax6.plot([0,1],[1,2])
    
    ax7 = plt.subplot(gs[1, :2])
    
    ax8 = plt.subplot(gs[1:, 2])
    
    ax8.plot([0,1],[0,6])
    
    ax9 = plt.subplot(gs[-1, 0])
    
    ax9.scatter([0,1],[0,3])
    
    ax10 = plt.subplot(gs[-1, -2])
    

    这里写图片描述


    - subplots
    使用plt.subplots建立一个2行2列的图像窗口,sharex=True表示共享x轴坐标, sharey=True表示共享y轴坐标. ((ax11, ax12), (ax13, ax14))表示第1行从左至右依次放ax11和ax12, 第2行从左至右依次放ax13和ax14.

    f, ((ax11, ax12), (ax13, ax14)) = plt.subplots(2, 2, sharex=True, sharey=True)
    
    ax11.scatter([1,2], [1,2])
    
    ax14.plot([3,5],[1,2])
    

    plt.tight_layout()表示紧凑显示图像, plt.show()表示显示图像.

    plt.tight_layout()
    
    plt.show()
    

    这里写图片描述


    展开全文
  • matlab绘图 subplot函数使用方法

    万次阅读 2021-12-03 20:45:21
    subplot(m,n,p) subplot(m,n,p,‘replace’) subplot(m,n,p,‘align’) subplot(m,n,p,ax) subplot(‘Position’,pos) subplot(___,Name,Value) ax = subplot(___) subplot(ax) 说明 ①subplot(m,n,p) 将当前图形...
  • matlab里面的subplot

    2021-04-18 06:52:30
    二是采用 subplot(m,n,k)函数,将图形窗口分隔成 n m×个子图,......绘制多个子图:subplot( )函数 MATLAB允许在一个图形窗口上绘制多个子图(如对于多变量系统的输 出),允许将窗口分成nxm个部分.分割图形窗口用subplot...
  • subplot怎么用

    千次阅读 2021-04-30 03:56:06
    matlab中subplot()的作用,就是在同一画面中创建和控制多个图形位置。一般使用格式:subplot(m,n,p)m——行数,即在同一画面创建m行个图形位置。n——列数,即在同一画面创建n列个图形位置。p——位数,在同一画面的...
  • SUBPLOT_GRID 是一个类,可以用它以空间优化的方式创建一组子图。 此外,可以添加图形标题和副标题,以及特定的行和列标题。 即使在调整大小后,文本((子)图标题和行列标题)也不会缩放,从而为轴保留最大空间。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 115,406
精华内容 46,162
关键字:

subplot