龙空技术网

MATLAB的tiledlayout函数绘制子图实例加程序

云龙派 146

前言:

此刻看官们对“matlab布局在哪”大体比较讲究,看官们都需要剖析一些“matlab布局在哪”的相关资讯。那么小编也在网络上网罗了一些对于“matlab布局在哪””的相关文章,希望大家能喜欢,兄弟们一起来了解一下吧!

当我们需要在不同的情景下对比结果或者绘制不同坐标轴下的图形时,可以选择在同一个图形窗口绘制子图。MATLAB除了subplot函数能够绘制子图之外,最近几年的版本推出了tiledlayout函数绘制子图。今天主要是以实例讲解MATLAB的tiledlayout函数绘制子图。

1.tiledlayout函数的语法

tiledlayout函数功能:创建分块图布局语法tiledlayout(m,n)tiledlayout('flow')tiledlayout(___,Name,Value)tiledlayout(parent,___)t = tiledlayout(___)说明tiledlayout(m,n) 创建分块图布局,用于显示当前图窗中的多个绘图。该布局有固定的 m×n 图块排列,最多可显示 m*n 个绘图。如果没有图窗,MATLAB® 会创建一个图窗并将布局放入其中。如果当前图窗包含一个现有布局,MATLAB 会用新布局替换该布局。分块图布局包含覆盖整个图窗或父容器的不可见图块网格。每个图块可以包含一个用于显示绘图的坐标区。创建布局后,调用 nexttile 函数以将坐标区对象放置到布局中。然后调用绘图函数在该坐标区中绘图。tiledlayout('flow') 指定布局的 'flow' 图块排列。最初,只有一个空图块填充整个布局。当您调用 nexttile 时,布局都会根据需要进行调整以适应新坐标区,同时保持所有图块的纵横比约为 4:3。tiledlayout(___,Name,Value) 使用一个或多个名称-值对组参数指定布局的其他选项。请在所有其他输入参数之后指定这些选项。例如,tiledlayout(2,2,'TileSpacing','compact') 创建一个 2×2 布局,图块之间采用最小间距。有关属性列表,请参阅 TiledChartLayout 属性。tiledlayout(parent,___) 在指定的父容器中而不是在当前图窗中创建布局。请在所有其他输入参数之前指定父容器。t = tiledlayout(___) 返回 TiledChartLayout 对象。创建布局后,使用 t 配置布局的属性。

2.实例1

程序

clc;%清除命令行窗口命令clear all;%清除工作区变量close all;%关闭图形窗口%创建一个 2×2 分块图布局,并调用 peaks 函数以获取预定义曲面的坐标。%通过调用 nexttile 函数,在第一个图块中创建一个坐标区对象。%然后调用 surf 函数以在坐标区中绘图。对其他三个图块使用不同绘图函数重复该过程。tiledlayout(2,2);% Tile 1nexttile[X,Y,Z] = peaks(20);surf(X,Y,Z)xlabel('x');ylabel('y');zlabel('z');% Tile 2nexttilecontour(X,Y,Z)xlabel('x');ylabel('y');% Tile 3nexttileimagesc(Z)xlabel('x');ylabel('y');% Tile 4nexttileplot3(X,Y,Z)xlabel('x');ylabel('y');zlabel('z');

运行结果

3.实例2

用 'flow' 参数调用 tiledlayout 函数,以创建可容纳任意数量的坐标区的分块图布局。

程序

clc;%清除命令行窗口命令clear all;%清除工作区变量close all;%关闭图形窗口%用 'flow' 参数调用 tiledlayout 函数,以创建可容纳任意数量的坐标区的分块图布局。%当调用 nexttile 时,布局都会根据需要进行调整以适应新坐标区,同时保持所有图块的纵横比约为 4:3。x = linspace(-10*pi,10*pi,50);y1 = cos(x/2)+sin(x/2);y2 = sin(x/3)+cos(x/3);y3 = sin(x/4)+cos(x/4);y4 = sin(x/5)+cos(x/5);y5 = sin(x/6)+cos(x/6);tiledlayout('flow')nexttileplot(x,y1)xlabel('x');ylabel('y');nexttileplot(x,y2,'r-o')xlabel('x');ylabel('y');nexttileplot(x,y3,'b-^')xlabel('x');ylabel('y');nexttileplot(x,y4,'b-^','markerface','b');hold on;plot(x,y5,'r-<','markerface','r');xlabel('x');ylabel('y');hold off;

运行结果

4.实例3

通过将 TileSpacing 属性设置为 'compact' 来减小图块的间距。将 Padding 属性设置为 'compact',减小布局边缘和图窗边缘之间的空间。

程序

clc;%清除命令行窗口命令clear all;%清除工作区变量close all;%关闭图形窗口x = linspace(-10*pi,10*pi,50);y1 = cos(x/2)+sin(x/2);y2 = sin(x/3)+cos(x/3);y3 = sin(x/4)+cos(x/4);y4 = sin(x/5)+cos(x/5);y5 = sin(x/6)+cos(x/6);tiledlayout('flow')nexttileplot(x,y1)xlabel('x');ylabel('y');nexttileplot(x,y2,'r-o')xlabel('x');ylabel('y');nexttileplot(x,y3,'b-^')xlabel('x');ylabel('y');nexttileplot(x,y4,'b-^','markerface','b');hold on;plot(x,y5,'r-<','markerface','r');xlabel('x');ylabel('y');hold off;figure;t = tiledlayout(2,2);nexttileplot(x,y1)xlabel('x');ylabel('y');nexttileplot(x,y2,'r-o')xlabel('x');ylabel('y');nexttileplot(x,y3,'b-^')xlabel('x');ylabel('y');nexttileplot(x,y4,'b-^','markerface','b');hold on;plot(x,y5,'r-<','markerface','r');xlabel('x');ylabel('y');hold off;% 通过将 TileSpacing 属性设置为 'compact' 来减小图块的间距。t.TileSpacing = 'compact';%通过将 Padding 属性设置为 'compact',减小布局边缘和图窗边缘之间的空间。t.Padding = 'compact';

运行结果

本文内容来源于网络,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。

作 者 | 郭志龙

编 辑 | 郭志龙

校 对 | 郭志龙

标签: #matlab布局在哪 #matlab布局调整