matlab画图函数用法,subplot,plot

article/2025/8/29 14:26:07

转载:http://blog.163.com/my_it_dream_pwj/blog/static/17841430520112294342649/

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)

 

matlab中subplot函数的功能 - IT菜女 - IT Dream Seeker 

举例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('自定义网格显示')

matlab中subplot函数的功能 - IT菜女 - IT菜女
补充其他plot用法:
plot 建立向量或矩阵各队队向量的图形 字元 颜色 字元 图线型态
loglog x、y轴都取对数标度建立图形 y 黄色 . 点
semilogx x轴用于对数标度,y轴线性标度绘制图形 k 黑色 o 圆
semilogy y轴用于对数标度,x轴线性标度绘制图形 w 白色 x x
title 给图形加标题 b 蓝色 + +
xlabel 给x轴加标记 g 绿色 * *
ylabel 给y轴加标记 r 红色 - 实线
text 在图形指定的位置上加文本字符串 c 亮青色 : 点线
gtext 在鼠标的位置上加文本字符串 m 锰紫色 -. 点虚线
grid 打开网格线 -- 虚线
hold on 命令用于在已画好的图形上添加新的图形
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); % 画出立体曲面图

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

相关文章

Matplotlib subplot()函数用法详解

Matplotlib subplot()函数用法详解 在使用 Matplotlib 绘图时&#xff0c;我们大多数情况下&#xff0c;需要将一张画布划分为若干个子区域&#xff0c;之后&#xff0c;我们就可以在这些区域上绘制不用的图形。在本节&#xff0c;我们将学习如何在同一画布上绘制多个子图。 …

Matplotlib中subplot以及subplots的用法

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

[Matlab] subplot函数用法

subplot函数用法 subplot(a,b,c)顾名思义&#xff0c;sub的意思就是在一张图上画出子图出来 参数 a 表示子图有几行 参数 b 表示子图有几列 参数 c 表示当前子图的序号&#xff0c;也就是第几个图&#xff0c;这里从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的子图表示&#xff0c; nrows&#xff1a;子图的行数 ncols&#xff1a;子图的列数 plot_number 索引值&#xff0c;表示把图画在…

subplot函数用法(MATLAB)

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

matlab——subplot函数用法

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

subplot 的用法

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

代码雨

复制下面代码&#xff0c;并以.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…

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

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

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>