subplot

功能

分割figure,创建子坐标系

语法

h = subplot(m,n,p) or subplot(mnp)
       subplot(m,n,p,'replace')
       subplot(m,n,P)
       subplot(h)
       subplot('Position',[left bottom width height])
       subplot(..., prop1, value1, prop2, value2, ...)
       h = subplot(...)

描述

h = subplot(m,n,p)/subplot(mnp) 将figure划分为m×n块,在第p块创建坐标系,并返回它的句柄。当m,n,p<10时,可以简化为subplot(mnp)或者subplot mnp

(注:subplot(m,n,p)或者subplot(mnp)此函数最常用:subplot是将多个图画到一个平面上的工具。其中,m表示是图排成m行,n表示图排成n列,也就是整个figure中有n个图是排成一行的,一共m行,如果第一个数字是2就是表示2行图。p是指你现在要把曲线画到figure中哪个图上,最后一个如果是1表示是从左到右第一个位置。 )

subplot(m,n,p,'replace')如果所指定的坐标系已存在,那创建新坐标系替换它

subplot(m,n,P)此时p为向量,表示将P中指定的小块合并成一个大块创建坐标系,P中指定的小块可以不连续,甚至不相连。

比如subplot(2,3,[2 5])表示将第2和5小块连成一个大块;subplot(2,3,[2 6])由于2和6不连续也不相连,此时表示将第2、3、5和6四块连成一个大块,相当于subplot(2,3,[2 3 5 6])

subplot(h) 将坐标系h设为当前坐标系,相当于axes(h)

subplot('Position',[left bottom width height])在指定位置创建一个新坐标系,等效于axes('Position',[left bottom width height])

subplot(..., prop1, value1, prop2, value2, ...)在创建坐标系时,同时设置相关属性,axes属性参见附录

h = subplot(...) 返回所创建坐标系的句柄

注意

1)使用subplot新建的axes块如果与已存在块重叠,MATLAB将删除已存在的axes并创建新的axes,除非已存在和需要创建的axes完全重合(此时相当于将它置为当前坐标系),此时如果想删除重建的话,需要使用'replace'参数

2)subplot(1,1,1)清空当前窗口所有坐标系对象,并创建一个默认的坐标系。注意此时subplot(1,1,1)和subplot(111)不完全等效,subplot(111)执行完以后,没有任何直观上的反应,它只是促使figure在下次调用绘图命令之前执行清空图形命令clf reset,接着创建一个默认坐标系。也就是说subplot(111)相当于将subplot(1,1,1)的操作分开了。由于subplot(111)执行完并没有创建新坐标系,故没法返回句柄,也就是说h=subplot(111)是错误的

举例1:

t=0:0.001:1;
        y1=sin(10*t);
        y2=sin(15*t);
        subplot(211)
        plot(t,y1)
        subplot(212)
        plot(t,y2)

举例2:

x=20:10:20000;
       y=rand(size(x));

subplot(3,2,1)
       plot(x)
       title('默认格式')

subplot(3,2,2)
       plot(x)
       set(gca,'xtick',[1 3 6 8]);
       set(gca,'ytick',[]);
       title('X自定义间隔,Y关闭')

subplot(3,2,3)
       plot(x)
       set(gca,'xtick',[1 3 6 8]);
       set(gca,'xticklabel',sprintf('.4f|',get(gca,'xtick')))
       set(gca,'ytick',[2 4 5 7]);
       set(gca,'yticklabel',{'Two','Four','Five','Seven'});
       title('XY自定义间隔、精度及显示方式')

subplot(3,2,4)
       plot(x)
       set(gca,'xminortick','on');%style 5
       set(gca,'ticklength',[0.05 0.025]);
       set(gca,'tickdir','out');
       title('XY坐标刻度显示方式')

subplot(3,2,5)
       plot(x)
       set(gca,'xtick',[min(x) (max(x)+min(x))/2 max(x)]);
       set(gca,'ytick',[min(x) (max(x)+min(x))/2 max(x)]);
       title('论文中常用的标准3点式显示')

subplot(3,2,6)
       semilogx(x,y);
       set(gca,'XLim',[20 20000]);
       set(gca,'XMinorTick','off');
       set(gca,'XTick',[20 31.5 63 125 250 500 1000 2000 4000 8000 16000]);
       set(gca,'XGrid','on');
       set(gca,'XMinorGrid','off');
       title('自定义网格显示')

1) x=0:0.001:10; % 0到10的1000个点(每隔0.001画一个点)的x座标
y=sin(x); % 对应的y座标
plot(x,y); % 绘图
注:matlab画图实际上就是描点连线,因此如果点取得不密,画出来就成了折线图,请试验之
2) Y=sin(10*x);
plot(x,y,'r:',x,Y,'b') % 同时画两个函数
3) 若要改变颜色,在座标对后面加上相关字串即可:
x=0:0.01:10;
plot(x,sin(x),'r')
4) 若要同时改变颜色及图线型态(Line style),也是在坐标对后面加上相关字串即可:
plot(x,sin(x),'r*')
5) 用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围
axis([0,6,-1.5,1])
6)MATLAB也可对图形加上各种注解与处理:(见上表)
xlabel('x轴'); % x轴注解
ylabel('y轴'); % y轴注解
title('余弦函数'); % 图形标题
legend('y = cos(x)'); % 图形注解
gtext('y = cos(x)'); % 图形注解 ,用鼠标定位注解位置
grid on; % 显示格线
7)画椭圆
a = [0:pi/50:2*pi]'; %角度
X = cos(a)*3; %参数方程
Y = sin(a)*2;
plot(X,Y);
xlabel('x'), ylabel('y');
title('椭圆')
8) 绘制函数 在0 ≤ x ≤ 1时的曲线。
x=0:0.1:1
y=x.*exp(-x) %为什么用点运算?若不用会怎样
plot(x,y),xlabel('x'),ylabel('y'),title('y=x*exp(-x)')
9)画出衰减振荡曲线 与它的包络线 及 。t 的取值范围是[0, 4π] 。
t=0:pi/50:4*pi;
y0=exp(-t/3);
y=exp(-t/3).*sin(3*t);
plot(t,y,'-r',t,y0,':b',t,-y0,':b') % -r表示红色实线,:b表示蓝色点线,看上表
grid
10) 在同一个画面上建立几个坐标系, 用subplot(m,n,p)命令;把一个画面分成m×n个图形区域, p代表当前的区域号,在每个区域中分别画一个图,如
x=linspace(0,2*pi,30); y=sin(x); z=cos(x);
u=2*sin(x).*cos(x); v=sin(x)./cos(x);
subplot(2,2,1),plot(x,y),axis([0 2*pi -1 1]),title('sin(x)')
subplot(2,2,2),plot(x,z),axis([0 2*pi -1 1]),title('cos(x)')
subplot(2,2,3),plot(x,u),axis([0 2*pi -1 1]),title('2sin(x)cos(x)')
subplot(2,2,4),plot(x,v),axis([0 2*pi -20 20]),title('sin(x)/cos(x)')
三维图形
11)三维螺旋线:
t=0:pi/50:10*pi;
plot3(sin(t),cos(t),t) %参数方程
grid %添加网格
12) t=linspace(0,20*pi, 501);
plot3(t.*sin(t), t.*cos(t), t); %注意点乘
也可以同时画出两条曲线,格式与二维情况类似,兹不举例。
13)用mesh命令画曲面
画出由函数 形成的立体网状图:
a=linspace(-2, 2, 25); % 在x轴上从(-2,2)取25点
b=linspace(-2, 2, 25); % 在y轴上取25点
[x,y]=meshgrid(a, b); % x和y都是21x21的矩阵
z=x.*exp(-x.^2-y.^2); % 计算函数值,z也是21x21的矩阵
mesh(x, y, z); % 画出立体网状图
14) surf和mesh的用法类似:
a=linspace(-2, 2, 25); % 在x轴上取25点
b=linspace(-2, 2, 25); % 在y轴上取25点
[x,y]=meshgrid(a, b); % x和y都是21x21的矩阵
z=x.*exp(-x.^2-y.^2); % 计算函数值,z也是21x21的矩阵
surf(x, y, z); % 画出立体曲面图

matlab中subplot函数的功能相关推荐

  1. matlab 绘多图 图名,MATLAB中subplot函数来画多图

    登录后查看更多精彩内容~ 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 在用matlab中subplot函数时,为什么会出现缺图的现象? 单独运行每一个图都可以,但是放在一起就不行,下面是我 ...

  2. MATLAB中subplot函数的使用

    目录 语法 说明 示例 上部和下部子图 子图的象限 大小不同的子图 将子图替换为空坐标区 自定义位置上的子图 创建包含极坐标区的子图 创建后修改坐标区属性 使子图成为当前坐标区 将现有坐标区转换为子图 ...

  3. 【笔记】:Python实现Matlab中sub2ind函数的功能

    (一)Matlab中sub2ind函数 1.sub2ind函数的功能 将下标转换为线性索引. 2.sub2ind函数的语法 有以下两种形式 (1)ind = sub2ind(sz, row, col) ...

  4. Matlab中plot函数全功能解析

    该帖由Matlab技术论(http://www.matlabsky.com)坛原创,更多精彩内容参见http://www.matlabsky.com 功能 二维曲线绘图 语法 plot(Y) plot ...

  5. matlab中axes显示,【原创】MATLAB中axes函数全功能解析

    axes ★★★★★ 功能 创建坐标系图形对象 语法 axes axes('PropertyName',propertyvalue,...) axes(h) h = axes(...) 描述 axes ...

  6. MATLAB中subplot函数使用

    格式:subplot(m,n,p) 或 subplot(m n p) 将多个图显示到一个平面上的函数.其中m,n表示窗口被分为m*n块区域,p表示当前图所在位置.p=1表示从左到右从上到下的第一个位置 ...

  7. matlab中subplot函数用法

    使用形式是,subplot(m,n,p)或者subplot(m n p): 前2个参数指定将绘图区域分为m*n块:第三个参数指示图形出现在第几块: 如下图,把绘图区域分为2*2块,图形出现在第2块: ...

  8. Matlab中plot函数及legend函数详解

    Matlab中plot函数及legend函数详解 Matlab中plot函数及legend函数详解 Matlab中plot函数全功能解析 功能 二维曲线绘图 语法 plot(Y) plot(X1,Y1 ...

  9. matlab中imresize()函数用法

    matlab中imresize()函数的功能是改变图像的大小. 其用法有多种: 1.B = imresize(A,m)  将图片A放大m倍 2.B = imresize(A,m,method)  将图 ...

最新文章

  1. 《美国教授:中国的研究生基本靠自学成材》
  2. C++知识点26——使用C++标准库(常用的泛型算法1)
  3. 小米做的这件事,捍卫了你的隐私
  4. 他总在逆风翻盘,绝地反击!最不爱钱却成了最有钱的人...
  5. 健康心理要防八种“过度”
  6. VC++动态链接库(DLL)编程深入浅出
  7. Git的工作流程简介
  8. 结构方程模型-调节(干扰)效应检验(一)
  9. Elasticsearch--进阶-bool复合查询---全文检索引擎ElasticSearch工作笔记013
  10. php srem,Redis Srem 命令
  11. Java新职篇:变量的作用域和生存期
  12. ipv4转ipv6 在线工具_TOOLFK在线工具-在线文字转语音/语音合成mp3工具
  13. MongoDB小结26 - 地理空间索引
  14. android消息发送字符串,Android aSmack-如何对文件发送进行自定义消息...
  15. mysql msdtc 不支持_MSDTC 服务意外地在 Windows Server 2012 或 Windows Server 2008 R2 SP1 中停止...
  16. 怎样用计算机绘制幂函数图像,几何画板如何画幂函数的图像 绘制方法介绍
  17. 智遥工作流软件,转下一步时数据保存解析
  18. VR全景,带您“飞临”探秘北京2022年冬奥会
  19. 基于JAVA的葫芦娃救爷爷游戏
  20. Accessing value from uninitialized register 52,fastJson的坑

热门文章

  1. 科普:Hi-Velocity是系统类别,还是品牌名称?
  2. 来聊聊 | 在中国,程序员这行真能干一辈子吗?
  3. excel怎么截取字符串
  4. 服务器局域网系统,局域网服务器常用的操作系统
  5. 阿里云李飞飞:数据库将迎来“四化”趋势
  6. Redmi Note 9 4G 安装GooglePlay服务
  7. 计算机常用的数制,计算机中常用的数制.ppt
  8. 字节流与字符流对文件复制的效率
  9. 大数据中位数怎么运算_java 计算中位数的实现方法
  10. IDEA如何设置字体大小