Matlab中的画图函数

article/2025/11/7 4:22:37

目录

一、二维曲线和图形

1、二维图像基本命令plot

(1). 曲线线型、颜色和标记点类型

(2). 设置曲线线宽、标记点大小,标记点边框颜色和标记点填充颜色等。

(3). 坐标轴设置

(4). 坐标轴刻度设置

(5). 图例

(6). 更多的设置

二、 图形的控制与表现 

1.图形窗口

(1). 图形窗口的创建和选择

(2). 在一个图形窗口中绘制多个子图形

(3). 在一个已有的图形上绘图

2.坐标轴控制命令

(1) 坐标轴的范围

(2) 显示比例对绘图结果的影响

3.图形标注

(1). 加注坐标轴标识和图形标题

(2). 图中加注文本

(3). 指定TeX字符

(4). 在图形中添加图例框

4. 图线形式和颜色

(1). 图线的形式

(2). 线的颜色

(3). 图线的其他属性


    之前在进行Matlab编程时,画图总是非常重要的一部分,在这里整理一下常用的绘图函数,以作备用。


一、二维曲线和图形

    MATLAB提供了多种二维图形的绘制命令

命令名含义和功能
area面域图;主要用于表现比例、成分
bar直方图;主要用于统计数据
compass射线图;主要用于方向和速度
feather羽毛图;主要用于速度
hist频数直方图;主要用于统计
pie二维饼图;统计数据极坐标形式
plot基本二维曲线图形指令
polar以极坐标绘制曲线
quiver二维箭头图;主要用于场强、流向
rose频数扇形图;主要用于统计
stairs阶梯图;主要用于采样数据
stem二维杆图;主要用于离散数据

1、二维图像基本命令plot

    基本调用格式plot(x,y,'s')

    这是plot命令最经典、最基本的调用格式。该命令的输入量(x,y,'s')称为平面绘图三元组。他们分别指定平面曲线的几何位置、点形、线型和色彩。

(1). 曲线线型、颜色和标记点类型


    plot(X1,Y1,LineSpec, …) 通过字符串LineSpec指定曲线的线型、颜色及数据点的标记类型。

符号意义
-实线
r红色
+加号
-.点划线
g绿色
o圆圈
--虚线
b蓝色
*星号
点线
c蓝绿色
.
m洋红色
x交叉符号
y黄色
s方格
k黑色
d菱形
w白色
^向上的三角形
>向左的三角形

<      向右的三角形 
p五边形
h六边形


 

(2). 设置曲线线宽、标记点大小,标记点边框颜色和标记点填充颜色等。

plot(…,’Property Name’, Property Value, …)

Property Name意义选项
LineWidth线宽如0.5,1等,单位为points
MarkerEdgeColor标记点边框线条颜色颜色字符,如’g’, ’b’等
MarkerFaceColor标记点内部区域填充颜色颜色字符
MarkerSize标记点大小数值,单位为points

(3). 坐标轴设置


范围设置:
a. axis([xmin xmax ymin ymax])设置坐标轴在指定的区间
b. axis auto 将当前绘图区的坐标轴范围设置为MATLAB自动调整的区间
c. axis manual 冻结当前坐标轴范围,以后叠加绘图都在当前坐标轴范围内显示
d. axis tight 采用紧密模式设置当前坐标轴范围,即一用户数据范围为坐标轴范围


比例设置:
a. axis equal 等比例坐标轴
b. axis square 以当前坐标轴范围为基础,将坐标轴区域调整为方格形
c. axis normal 自动调整纵横轴比例,使当前坐标轴范围内的图形显示达到最佳效果


范围选项和比例设置可以联合使用,默认的设置为axis auto normal

(4). 坐标轴刻度设置


set(gca, ’XTick’, [0 1 2]) X坐标轴刻度数据点位置
set(gca,'XTickLabel',{'a','b','c'}) X坐标轴刻度处显示的字符
set(gca,'FontName','Times New Roman','FontSize',14) 设置坐标轴刻度字体名称,大小
‘FontWeight’,’bold’ 加粗 ‘FontAngle’,’italic’ 斜体


对字体的设置也可以用在title, xlabel, ylabel等中

(5). 图例


legend('a','Location','best') 图例位置放在最佳位置

用Matlab画图时,有时候需要对各种图标进行标注,例如,用“+”代表A的运动情况,“*”代表B的运动情况。

legend函数的基本用法是

legend(string1,string2,string3, ...)

分别将字符串1、字符串2、字符串3……标注到图中,每个字符串对应的图标为画图时的图标。

例如:

plot(x,sin(x),'.b',x,cos(x),'+r')

legend('sin','cos')这样可以把"."标识为'sin',把"+"标识为"cos"

还可以用legend(...,'Location',LOC) 来指定图例标识框的位置

这些是Matlab help文件。后面一段是对应的翻译和说明:

参数英文说明中文说明

'North'      

inside plot box near top图例标识放在图顶端
'South'inside bottom图例标识放在图底端
'East'inside right图例标识放在图右方
'West'inside left图例标识放在图左方

'NorthEast'

inside top right (default)图例标识放在图右上方(默认)
'NorthWest          inside top left图例标识放在图左上方
'SouthEast'inside bottom right图例标识放在图右下角
'SouthWest'inside bottom left图例标识放在图左下角
'NorthOutside'      outside plot box near top图例标识放在图框外侧上方
'SouthOutside'      outside bottom图例标识放在图框外侧下方
'EastOutside'        outside right图例标识放在图框外侧右方
'WestOutside'        outside left图例标识放在图框外侧左方
'NorthEastOutside'  outside top right图例标识放在图框外侧右上方
'NorthWestOutside'  outside top left图例标识放在图框外侧左上方
'SouthEastOutside'  outside bottom right图例标识放在图框外侧右下方
'SouthWestOutside'  outside bottom left图例标识放在图框外侧左下方
'Best'              least conflict with data in plot图标标识放在图框内不与图冲突的最佳位置
'BestOutside'       least unused space outside plot图标标识放在图框外使用最小空间的最佳位置

还是用上面的例子

legend('sin','cos','location','northwest')可以将标识框放置在图的左上角。

示例代码:

x = 0:.2:12;plot(x,sin(x),x,cos(x),x,tan(x));legend('First','Second','Third');legend('First','Second','Third','Location','NorthEastOutside')

 


b = bar(rand(10,5),'stacked'); colormap(summer); hold onx = plot(1:10,5*rand(10,1),'marker','square','markersize',12,...'markeredgecolor','y','markerfacecolor',[.6 0 .6],...'linestyle','-','color','r','linewidth',2); hold offlegend([b,x],'Carrots','Peas','Peppers','Green Beans',...'Cucumbers','Eggplant')

x = -pi:pi/10:pi;y = tan(sin(x)) - sin(tan(x));plot(x,y,'--rs','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',10)xlabel('x');ylabel('y');

·   

(6). 更多的设置

可以在绘图窗口中打开绘图工具,Inspector… 中查找

二、 图形的控制与表现 

MATLAB提供的用于图形控制的函数和命令:
axis: 人工选择坐标轴尺寸.
clf:清图形窗口.
ginput: 利用鼠标的十字准线输入.
hold: 保持图形.
shg:显示图形窗口.
subplot: 将图形窗口分成N块子窗口。


1.图形窗口


(1). 图形窗口的创建和选择


figure(n):用于为当前的绘图创建图形窗口,每运行一次figure就会创建一个新的图形窗口,n表示第n个窗口,如果窗口定义了句柄,也可以用figure(h)将句柄h的窗口作为当前窗口。
clf:用于清除当前图形窗口中的内容。
shg:用于显示当前图形窗口。


(2). 在一个图形窗口中绘制多个子图形


subplot(m,n,p):把窗口分成m×n个小窗口,并把第p个窗口当作当前窗口。
例:将4 个图形显示在同一个图形窗口中。

t=0:pi/20:2*pi; 
[x,y]=meshgrid(t);
subplot(2,2,1); 
plot(sin(t),cos(t)); 
axis equal
subplot(2,2,2); 
z=sin(x)+cos(y); 
plot(t,z); 
subplot(2,2,3); 
z=sin(x).*cos(y); 
plot(t,z); 
subplot(2,2,4); 
z=sin(x).^2-cos(y).^2; 
plot(t,z); 


(3). 在一个已有的图形上绘图

 
hold on:在一个已有的图形上继续绘图;

hold off: 命令结束继续绘图。
例:将peaks函数的等高线图与伪彩色画在一起。

[x,y,z]=peaks;          %产生双变量数组
contour(x,y,z,20,'k')        %绘制等高线
hold on
pcolor(x,y,z)             %绘制伪彩色图
shading interp          %表面色彩渲染
hold off


 

2.坐标轴控制命令(Axis control commands)


   控制坐标性质的axis函数的多种调用格式:
axis(xmin xmax ymin ymax) :指定二维图形x和y轴的刻度范围,
axis auto                                 :设置坐标轴为自动刻度(缺省值)
axis manual(或axis(axis)) :保持刻度不随数据的大小而变化
axis tight                                 :以数据的大小为坐标轴的范围
axis ij                                       :设置坐标轴的原点在左上角,i为纵坐标,j为横坐标
axis xy                                     :使坐标轴回到直角坐标系
axis equal                                :使坐标轴刻度增量相同
axis square                              :使各坐标轴长度相同,但刻度增量未必相同
axis normal                              :自动调节轴与数据的外表比例,使其他设置失效
axis off                                     :使坐标轴消隐
axis on                                     :显现坐标轴


(1) 坐标轴的范围


二维图形坐标轴范围在缺省状态下是根据数据的大小自动设置的,如欲改变,可利用axis(xmin xmax ymin ymax)函数来定义。
例: 定义坐标轴范围对观察图形的影响。

x=0:.01:pi/2; 
figure(1); 
plot(x,tan(x),'-ro') %ymax=tan(1.57),而其他数据都很小,结果将使图形难于进行观察和判断。
figure(2); 
plot(x,tan(x),'-ro'); 
axis([0, pi/2,0,5]) %对坐标轴的范围进行控制就可得到较满意的绘图结果


(2) 显示比例对绘图结果的影响(Effect of display scaling on plotting results)

例:比较(Default, axis square, axis equal, axis tight)几种不同的显示方式的显示效果。
 

t=0:pi/20:2*pi; figure(1);
subplot(2,1,1); plot(sin(t),2*cos(t)); grid on     %缺省状态下的图形比例
subplot(2,1,2); plot(sin(t),2*cos(t)); axis square; grid on    %正方形的显示比例
figure(2)
subplot(1,2,1); plot(sin(t),2*cos(t)) ; axis equal; grid on           %具有相等的刻度比例
subplot(1,2,2); plot(sin(t),2*cos(t)); axis tight ; grid on              %紧缩形式



3.图形标注


title     :标题,
xlabel :x轴标注,
ylabel :y轴标注,
text     :任意定位的标注                      
gtext   :鼠标定位标注,
legent :标注图例


图形标注可以使用字母,数字,汉字或按规定的方法表示希腊字母。如:pi表示πleq表示rm表示后面的字恢复为正体字,it表示斜体字,FontSize表示字体的大小, FontName表示字体的类型等。
可以使用图形窗口的Insert菜单,也可以使用属性编辑器,还可以使用函数输入的方法加标注,以下介绍相关函数的使用方法。


(1). 加注坐标轴标识和图形标题


加注坐标轴标识:xlabel(‘s’), ylabel(‘s’)
图形标题           :   title(‘s’)
例:加注坐标轴标示和图形标题。

t=0:pi/100:2*pi;y=sin(t);
plot(t,y)
axis([0 2*pi,-1 1])
xlabel('0 leq itt rm leq pi','FontSize',16)
ylabel('sin(t)','FontSize',20)
title('正弦函数图形','FontName','隶书','FontSize',20)


(2). 图中加注文本(Add text in the figure)
 

text(x,y,’字符串’)


例:在上图中加语句。
 

t=0:pi/100:2*pi;
y=sin(t);
plot(t,y)
axis([0 2*pi,-1 1])
xlabel('0 leq itt rm leq pi','FontSize',16)
ylabel('sin(t)','FontSize',20)
title('正弦函数图形','FontName','隶书','FontSize',20)
text(3*pi/4,sin(3*pi/4),'leftarrowsin(t)=0.707', 'FontSize',16)
text(pi,sin(pi),'leftarrowsin(t)=0', 'FontSize',16)
text(5*pi/4,sin(5*pi/4),'sin(t)=-0.707rightarrow','FontSize',16,HorizontalAlignment','right')


句中:
leftarrow           表示加一个向左的箭头
rightarrow          表示加一个向右的箭头
HorizontalAlignment 表示右对齐水平排列

 
gtext('字符串'): 在图形窗口上用鼠标直接在指定的位置上加注文本。

例:

t=0:pi/100:2*pi;
y=sin(t);
plot(t,y)
axis([0 2*pi,-1 1])
xlabel('0 leq itt rm leq pi','FontSize',16)
ylabel('sin(t)','FontSize',20)
title('正弦函数图形','FontName','隶书','FontSize',20)
gtext('MATLAB')


 

(3). 指定TeX字符


例:在标题中指定TeX字符
 

t=0:pi/100:2*pi;
alpha=-0.8;
beta=15;
y=sin(beta*t).*exp(alpha*t);
plot(t,y)
title('{itAe}^{-italphaitt}sinitbeta{itt}italpha<<itbeta')
xlabel('时间mus.'),
ylabel('幅值')


在title中的字符串表现的是 Aeαt   sinβt   α<<β
斜体Ae 上标斜体αt 斜体βt 斜体α  斜体β

 
(4). 在图形中添加图例框


legend(字符串1,字符串2,…)
例:在当前图形中添加图例说明。

x=0:pi/10:2*pi;
y1=sin(x);
y2=0.6*sin(x);
y3=0.3*sin(x);
plot(x,y1,x,y2,'-o',x,y3,'-*')
legend( '曲线1','曲线2','曲线3')
legend('boxoff')





4. 图线形式和颜色


(1). 图线的形式: (style of plot)

四种线形    : 实线'-',虚线'--', 点线':',点划线'-'.
标记点类型点'.', 圆'o', 加号'+', 星号'*', x符号'x', 方形's', 菱形'd', hexagram 'h',上三角△ '^', 下三角▽ 'v', 左三角'<', 右三角'>', 正五边形'p'

命令:plot(x,y,'—'), plot(x1,y1,':’,x2,y2,'*')
例1:选择不同的线形绘图。    

t=0:pi/100:2*pi; y=sin(t); y2=sin(t-0.25); y3=sin(t-0.5);
plot(t,y,'-',t,y2,'-',t,y3,':')



例2:选择不同的标记点绘图。

t=0:pi/20:2*pi; 
x=t.^3; 
y=sin(t); 
plot(x,y,'o')

 


(2). 线的颜色(color of plot)

可选颜色: 红r,绿g, 蓝b, 黄y, 粉红m, 青c, 黑k.
例:

t=0:pi/20:2*pi;
y=sin(t); 
plot(x,y,'r'), plot(x,y,'g+')


(3). 图线的其他属性(other characters of plot)

设置图线的宽度    : 'LineWidth'

标记点的边缘颜色: 'MarkerEdgeColor'

填充颜色              : 'MarkerFaceColor'

标记点的大小       : 'MarkerSize'

例: 设置图线的线形、颜色、宽度、标记点的颜色及大小。

t=0:pi/20:pi; 
y=sin(4*t).*sin(t)/2;
plot(t,y,'-bs','LineWidth',2,'MarkerEdgeColor','k', 'MarkerFaceColor', 'y','MarkerSize',10);


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

相关文章

MATLAB-画图汇总

画图之前建议先想好自己要画什么样的图&#xff0c;再去找相关代码。 本文汇总了一些matlab画图代码和修饰指令。 画图指令 连线图-plot 连线图就是连接一个又一个的点&#xff0c;最后形成一个图&#xff08;折线图&#xff09;&#xff0c;但是当对进行限制&#xff0c;比…

matlab 找到数组中第一个不连续点_超全Matlab绘图方法整理

你好,我是 goldsunC让我们一起进步吧! 使用Matlab绘图 图像是结果的一种可视化表现,它能直观的体现你的结果,并且能体现你获得结果的准确性,在当前的大数据时代,在做数据分析的时候,将其可视化可以直观多维的展示数据,可以让人们更好的发现并且记住数据的特征,因此很多…

Matlab 学习(三)之绘图

一&#xff1a;二维绘图 1.1 plot 直角系绘图 首先要先绘图&#xff0c;日常绘图就要先描点&#xff0c;然后连点成线。在Matlab中绘图也是如此。 plot(x,y) 这里 x, y 都是向量&#xff0c;以 x 中的元素为横坐标&#xff0c; y 中的元素为纵坐标&#xff0c;作平面曲线。向量…

MATLAB 绘图

一、绘图的基本步骤 在MATLAB中绘制图形&#xff0c;通常采用以下7个步骤 1.准备数据 准备好绘图需要的横坐标变量和纵坐标变量数据。 2.设置当前绘图区 在指定的位置创建新的绘图窗口&#xff0c;并自动以此窗口的绘图为当前绘图区。 3.绘制图形 创建坐标轴&#xff0c;指定叠…

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;学习这些…