MATLAB 绘图

article/2025/11/7 4:38:07

一、绘图的基本步骤

在MATLAB中绘制图形,通常采用以下7个步骤
1.准备数据
准备好绘图需要的横坐标变量和纵坐标变量数据。
2.设置当前绘图区
在指定的位置创建新的绘图窗口,并自动以此窗口的绘图为当前绘图区。
3.绘制图形
创建坐标轴,指定叠加绘图模式,绘制函数曲线。
4.设置图形中曲线和标记点格式
设置图形中的线宽、线型、颜色和标记点的形状、大小、颜色等。
5.设置坐标轴和网格线属性
将坐标轴的范围设置在指定横线,并设置网格线的属性,如网格线的类型(实线、虚线)等
6.标注图形
对图形进行标注,包括在图形中添加标题、坐标轴标注、文字标注等、
7.保存和导出图形
按指定文件格式、属性保存或导出图形,以备后续使用。

二、在工作区直接绘图

使用工作空间直接绘图

三、利用函数绘图

MATLAB提供了丰富的绘图功能,在命令行窗口中输入help graph2d可得到所有绘制二维图形的命令,输入help graph3d可得到所有绘制三维图形的命令。

1.基本二维图形

plot(X1,Y1,LineSpec,‘PropertyName’,PropertyValue):对所有用plot函数创建的图形进行属性值设置。
常用的绘图选项:

选项含义选项含义
-实线.用点号标出数据点
虚线用圆圈标出数据点
点线×用叉号标出数据点
-.点划线+用加号标出数据点
r红色s用小正方形标出数据点
g绿色D用菱形标出数据点
b蓝色V用下三角标出数据点
y黄色^用上三角标出数据点
m品红<用左三角标出数据点
c青色>用右三角标出数据点
w白色H用六角形标出数据点
k黑色P用五角形标出数据点
*用星号标出数据点--

常用属性:

属性名含义属性名含义
LineWidth设置线的宽度MarkerEdgeColor设置标记点的边缘颜色
MarkerSize设置标记点的大小MarkerFaceColor设置标记点的填充颜色

h = plot(X1,Y1,LineSpec,‘PropertyName’,PropertyValue):返回绘制函数的句柄值h。
loglog函数、semilogx函数与semilogy函数的用法与plot函数的用法类似。
【例1】在同一坐标下绘制多条曲线

>> clear all;
t = 0: pi/50: 4*pi;
y0 = exp(-t/3);
y = exp(-t/3).*sin(3*t);
plot(t,y,t,y0,t,-y0);
grid on

在这里插入图片描述

【例2】加载MATLAB自带的噪声信号进行图形绘图

>> clear all;
>> load noisdopp;
>> plot(noisdopp)

在这里插入图片描述

2.双y轴绘图

在MATLAB中,提供了plotyy函数用于绘制双y轴图形绘制。在实际中,如果两组数据的数据范围相差较大,而又希望放在同一图形中比较分析,则可以绘制双y轴图形。
plotyy(x1,y1,x2,y2):在一个图形窗口同时绘制两条曲线(x1,y1)和(x2,y2),曲线(x1,y1)用左侧的y轴,曲线(x2,y2)用右侧的y轴。
plotyy(x1,y1,x2,y2,fun):fun是字符串格式,用于指定绘图的函数名,如plot、semilogx等。例如,命令plotyy(x1,y1,x2,y2,‘semilogx’)就是用函数semilogx来绘制曲线(x1,y1)和(x2,y2)。
plotyy(x1,y1,x2,y2,fun1,fun2):和第二种形式类似,只是用fun1和fun2可以指定不同的绘图函数分别绘制这两种曲线。
【例3】利用plotyy绘制双y轴图形。

>> clear all;
>> x = 0: 0.01: 20;
>> y1 = 200 * exp(-0.05 * x).*sin(x);
>> y2 = 0.8 * exp(-0.5 * x).*sin(10 * x);
>> figure
>> plotyy(x,y1,x,y2)

在这里插入图片描述

3.三维图形
1)三维曲线

在MATLAB中,提供了plot3函数用于绘制三维曲线,其函数的用法与二维曲线绘制函数plot类似。plot3函数的调用格式如下。
plot3(X1,Y1,Z1,…):以默认线型属性绘制三维点集(Xi,Yi,Zi)确定的曲线。Xi、Yi、Zi为相同大小的向量或矩阵。
plot3(X1,Y1,Z1,LineSpec…):以参数LineSpec确定的线型属性绘制三维点集(Xi,Yi,Zi)确定的曲线,Xi、Yi、Zi为相同大小的向量或矩阵。
plot3(…,‘PropertyName’,PropertyValue,…):绘制三维曲线,根据指定的属性值设定曲线的属性。
h = plot3(…):返回绘制曲线图的句柄值向量h。
【例4】利用plot绘制三维曲线图。

clear all
t = 0: pi/50: 10 * pi
st = sin(t)
ct = cos(t)
figure
plot3(st,ct,t)

在这里插入图片描述
MATLAB中,除了可以绘制三维线性图形外,还可以绘制三维曲面。常见的绘制三维曲面的MATLAB函数有mesh和surf。

2)三维网格图的绘制

在三维网格图绘制时经常需要用到meshgid,用于生成网格数据。
meshgrid的用法简介
[X,Y] = meshgid(x,y):输入向量x为xy平面上矩阵定义域的矩形分割线在x轴的值,输入向量y为xy平面上矩形定义域的矩形分割线在y轴的值。输出向量X为xy平面上矩形定义域的矩形分割点的横坐标值矩阵,输出向量Y为xy平面上矩形定义域的矩形分割点的纵坐标值矩阵。
[X,Y] = meshgrid(x):等价于[X,Y] = meshgrid(x,x)
[X,Y,Z] = meshgrid(x,y,z)

3)三维网格曲面

mesh(X,Y,Z)

4)三维阴影曲面

surf(X,Y,Z)
Matlab用surf函数画三维曲面
Matlab绘制三维曲线(plot3)和三维图形(mesh & surf)
Matlab中mesh和surf的区别
meshgrid,contour,surf,mesh的总结

4.图形的修饰
1)选择图形窗口的函数

1.打开不同图形窗口的函数
figure(1);figure(2);…;figure(n):用来打开不同的图形窗口,以便绘制不同的图形。
2.图形窗口分拆函数subplot
subplot(m,n,p):分割图形显示窗口,m表示上下分割个数,n表示左右分割个数,p表示子图编号。
【例5】图形窗口的创建与分割

clear all
b = 2 * pi
x = linspace(0,b,50)                       %分割点
for k = 1:9y = sin(k * x).*cos(.52 * x)subplot(3,3,k)plot(x,y,'linewidth',2)axis([0,2*pi,-1,1])
end

在这里插入图片描述

2)坐标轴相关函数

在默认情况下,MATLAB自动选择图形的横、纵坐标的比例,当然也可以用axis函数控制,常用的函数格式如下:
axis([xmin xmax ymin ymax]):[xmin xmax ymin ymax]中分别给出x轴和y轴的最大值、最小值。
axis equal:x轴和y轴的单位长度相同。
axis square:图框呈正方形。
axis off:清除坐标刻度。
semilogx:绘制以x轴为对数坐标(以10为底)、y轴为线性坐标的半对数坐标图形。
semilogy:绘制以y轴为对数坐标(以10为底)、x轴为线性坐标的半对数坐标图形。
loglog:绘制全对数坐标图形,即x、y轴均为对数坐标(以10为底)。

3)文字标识函数

text(x,y,‘字符串’):在图形的指定坐标位置(x,y)处标示单引号括起来的字符串。
gtext(‘说明文字’):利用鼠标在图形的某一位置标示说明文字。执行完绘图命令后再执行gtext(‘说明文字’)命令,就可在屏幕上得到一个光标,然后用鼠标选择说明文字的位置。
title(‘字符串’):在所绘制图形的最上端显示说明该图形标题的字符串。
xlanbel(‘字符串’)、ylanbel(‘字符串’)、zlanbel(‘字符串’):设置x、y、z坐标轴的名称。输入特殊的文字需要用反斜杠()开头。
legend(‘字符串1’、‘字符串2’,…,‘字符串n’):在屏幕上开启一个视窗,然后依据绘图函数的先后次序,用对应的字符串区分图形上的线。

4)添加或删除栅格

grid:给图形加上栅格线。
grid on :给当前坐标系加上栅格线。
grid off:从当前坐标系中删去栅格线。
grid:交替转换命令,即执行一次,转变一个状态(相当于grid on、grid off)。

5)图形保持或覆盖

hold on:把当前图形保持在屏幕不变,同时允许在这个坐标内绘制另外一个图形。
hold off:使新图覆盖旧图。
hold函数是一个交替转换函数,即执行一次,转变一个状态(相当于hold on、hold off)。
【例6】绘制对数坐标及半对数坐标图

clear all
x1 = logspace(-1,2)
subplot(131)
loglog(x1,exp(x1),'-s')
title('loglog函数绘图')
grid on
x2 = 0: 0.1 :10
subplot(132)
semilogx(10.^x2,x2,'r-.*')
title('semilogx函数绘图')
subplot(133)
semilogx(10.^x2,x2,'rd')
title('semilogy函数绘图')

在这里插入图片描述


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

相关文章

matlab之画图

目录 1. 横纵坐标轴 2. 格点显示 3. 图、窗体Figure1的命名 4. 多个图形叠加绘制 5. 频谱图 5.1 已知信号画频谱图 5.2 已知传输函数画频谱图 1. 横纵坐标轴 横纵坐标轴标签&#xff1a; x -pi: 0.01: pi; figure, plot(x, cos(x)); xlabel(“x axis”); ylabel(“y axi…

MATLAB画图——基础篇

MATLAB画图——基础篇 在MATLAB使用的过程中&#xff0c;学会画图是一项必要的技能。在这里&#xff0c;我总结了部分简单的画图函数&#xff0c;同时附上代码&#xff08;本文中的程序为了方便给出的数据都很简单&#xff0c;大家可以自己去尝试其他数据&#xff09;。这对刚…

MATLAB基本绘图

一.基本命令&#xff1a; plot(); 绘图命令 hold on,hold off 清除之前的图形 legend();多图标注 xlabel(); ylabel(); zlable(); title(); text();文本 annotation();用于在图上绘制符号 关于图像字体和轴的设置命令 二.命令介绍 2.1 plot(); 绘图命令 %hold on,…

数学建模之MATLAB画图汇总

1. 二维数据曲线图 1.1 绘制二维曲线的基本函数 1&#xff0e;plot()函数 plot函数用于绘制二维平面上的线性坐标曲线图&#xff0c;要提供一组x坐标和对应的y坐标&#xff0c;可以绘制分别以x和y为横、纵坐标的二维曲线。 例: t0:0.1:2*pi; x2 * t; yt.*sin(t).*sin(t);…

必须收藏的MATLAB画图指南

目录 一、图像标签和注释 标签函数 注释函数 标签属性 注释属性 二、坐标区设置 坐标区范围和纵横比函数 网格线、刻度值和标签函数 多个绘图函数 清除或创建坐标区 属性 三、线图 线图函数 对数图函数 函数图 线图属性 四、数据分布图 分布图 气泡图 散点…

Matlab 画图(全网最优质文章)

文章目录 画图基本指令一、散点图1.最基础的散点图2.函数专用散点图3.设置圆圈大小的散点图 二、折线图1.一条线2.多条线在这里插入图片描述 三、柱状图&#xff08;三种&#xff09;1.最基础的柱形图2.多变量柱形图3.三维的柱形图4.堆叠形柱形图5.水平柱形图 四、火柴棍图&…

Android APK反编译技巧全讲解

Android APK反编译技巧全讲解 导言&#xff1a;在我们安卓开发当中&#xff0c;我们不仅需要掌握基础的开发技能&#xff0c;也需要掌握软件的安全技能&#xff0c;这样才可以让我们的软件能够成为一款能够真正可以进行发布的软件&#xff0c;同时也可以让自己的核心技术不会被…

Apk反编译再打包

Apk反编译再打包 近期研究了一下Apk反编译技术&#xff0c;在网上找了很多资料&#xff0c;进行了实践&#xff0c;成功完成了apk反编译&#xff0c;修改代码&#xff0c;再打包编译的过程。这个过程耗费了我3天的时间&#xff0c;踩了很多坑。记录下来&#xff0c;便于我以后…

apk 反编译及重新打包签名

apk 反编译及重新打包签名 1. 需要的工具 apktool&#xff0c;apk 编译及反编译工具keytool&#xff0c;用于管理密钥和证书的工具jarsigner&#xff0c;签名工具apksigner&#xff0c;签名工具 2. apk 反编译 首先需要对 apk 进行反编译&#xff0c;假设 apk 名为 name.ap…

APK反编译(2)

前提说明: 今天在反编译某个apk解压出来的dex文件时,会出现编译失败,生成classes-dex2jar.jar和classes-error.zip,这是反编译失败的结果.查找资料说是老版本的dex2jar已经不能反编译最新的dex文件了,需要用新版本的. 再一个,部分class文件,用jd-gui.exe打开,会出现internalEr…

【Apk反编译】如何反编译Apk得到Java源代码

Android Apk反编译得到Java源代码 大家做Android开发&#xff0c;看到别人应用里一些好的功能&#xff0c;是不是很想得到源码&#xff0c;借鉴一下&#xff1f;既然Android是用JAVA开发的&#xff0c;那么我们就能很容易的通过反编译的到应用的源代码。下面我简单介绍下应该怎…

【反编译】安卓APK反编译为java文件

【反编译】安卓APK反编译为java文件 准备工具 要反编译的apk文件&#xff0c; 以微信8.0.apk为例子 dex2jar 下载地址 dex2jar-2.0反编译.zip-Android文档类资源-CSDN文库 https://sourceforge.net/projects/dex2jar/ jd-gui java反编译工具 .class --> .java D…

apk反编译-源码阅读

文章目录 一、准备工具(1) 使用工具介绍&#xff1a;(2) 使用工具下载与安装&#xff1a; 二、Apk 反编译步骤三、出错提示&#xff1a; 一、准备工具 提示&#xff1a;这些工具在官网都不好下载&#xff0c;偶也是废了好大力气呢&#xff0c;建议直接下载我提供的网盘链接 (…

APK反编译以及提取有用信息

目录 一、反编译工具的介绍 apktool dex2jar jd-gui 二、apk反编译 三、提取有用信息 信息收集的内容 apk开发者id和apk签名证书查找 三、一键式反编译进行信息收集工具介绍 现学现卖&#xff0c;有些地方有错误还请包含&#xff0c;也十分欢迎指教补充。 一、反编译工具…

如何对apk文件进行反编译

1.下载反编译三件套(2022.9.5更新) 点我直达 提取码&#xff1a;cbjw 2.压缩包解压 这里以解压到D:\decompile为例 3. 使用apktool反编译apk&#xff08;此处以wat.apk处于D:\decompile文件夹为例&#xff09; //进入dos窗口:winR->输入cmd->回车cd D: 回车cd decompi…

APK反编译

本文首发于&#xff1a;行者AI 当我们想要了解一款APP时&#xff0c;最好的学习方式就是将其APK文件进行反编译。将APK进行反编译之后&#xff0c;我们就可以看到开发这个应用使用的资源文件&#xff08;图片&#xff09;、layout、样式、相关的实现代码等&#xff0c;学习这些…

apk反编译教程(2022win11亲测)

捣鼓apk反编译&#xff0c;想做一些羞羞的事情&#xff0c;网上的教程大多都比较旧&#xff0c;这里更新一篇比较新且详细的反编译教程。 目录 软件准备 apktool安装和使用 dex2jar安装和使用 jd-gui使用 软件准备 首先我们想要比较完整的解析一个apk需要三个工具&#…

Android apk反编译

学习和开发Android应用有一段时间了&#xff0c;今天写一篇博客总结一下Android的apk文件反编译。我们知道&#xff0c;Android应用开发完成之后&#xff0c;我们最终都会将应用打包成一个apk文件&#xff0c;然后让用户通过手机或者平板电脑下载下来进行安装。正常情况下&…

AVD创建与使用

一、创建虚拟设备&#xff08;AVD&#xff09; AVD链接地址>>手机安卓自动化环境配置 操作程序&#xff1a; D:\tool\adt4_2_32bit\eclipse-eclipse.exe&#xff08;双击启动&#xff09;–开发工具 创建AVD&#xff08;虚拟设备&#xff09;&#xff1a; 1)点击Window…

关于AVOD, 你需要知道的事

翻译、编辑&#xff1a;Alex 本文来自OTTVerse&#xff0c;作者为Krishna Rao Vijayanagar。 ▲扫描图中__二维码了解音视频技术大会更多信息▲ Easy-Tech #026# AVOD&#xff08;Advertising-based Video On Demand&#xff09;是一种视频点播商业模式&#xff1a;通过在视频…