Matlab中plot函数全功能解析

Matlab中plot函数全功能解析

功能

二维曲线绘图

语法

plot(Y)
plot(X1,Y1,...)
plot(X1,Y1,LineSpec,...)
plot(...,‘PropertyName‘,PropertyValue,...)
plot(axes_handle,...)
h = plot(...)
hlines = plot(‘v6‘,...)

描述

plot(Y)如果Y是m×n的数组,以1:m为X横坐标,Y中的每一列元素为Y坐标,绘制n条曲线;如果Y是n×1或者1×n的向量,则以1:n为横坐标,Y为坐标表绘制1条曲线;如果Y是复数,则plot(Y)等效于plot(real(Y),imag(Y));其它使用情况下,忽略坐标数据中的虚部。

plot(X1,Y1,...)如果X和Y都是数组,按列取坐标数据绘图,此时它们必须具有相同的尺寸;如果X和Y其中一个是向量另一个为数组,X和Y中尺寸相等的方向对应绘制多条曲线;如果X和Y其中一个是标量另一个为向量,那么将绘制垂直X或者Y轴离散的点。


X


Y


备注


m×n


m×n


按列取坐标数据绘制n条曲线


X和Y必须具有相同的尺寸


1×n或n×1


m×n或n×m


自动匹配尺寸相同方向绘制m条曲线


任意四种组合,效果一样


m×n或n×m


1×n或n×1


同上


同上


1×1


1×n或n×1


绘制垂直X轴离散点


Y可以任意向量


1×n或n×1


1×1


绘制垂直Y轴离散点


X可以任意向量

plot(X1,Y1,LineSpec,...)通过参数LineSpec指定曲线的曲线属性,它包括线型、标记符和颜色。plot函数支持同时绘制任意组图形

plot(X1,Y1,LineSpec1,X2,Y2,LineSpec2,...)

此时完全等效于

plot(X1,Y1,LineSpec1,...)

hlod all

plot(X2,Y2,LineSpec2,...)

MATLAB中提供的线型属性有:


线型


说明


标记符


说明


颜色


说明


-


实线(默认)


+


加号符


r


红色


--


双划线


o


空心圆


g


绿色


:


虚线


*


星号


b


蓝色


:.


点划线


.


实心圆


c


青绿色


x


叉号符


m


洋红色


s


正方形


y


黄色


d


菱形


k


黑色


^


上三角形


w


白色


v


下三角形


>


右三角形


<


左三角形


p


五角星


h


六边形

需要说明的是,LineSpec中设置曲线线型、标识符和颜色三项属性时,控制符的顺序不受限制并可以省略或者部分省略。也就是说‘r-.*‘、‘-.r*‘、‘*-.r‘等形式是等效的,都表示使用红色点划线连接各个节点,各节点使用“*”标识。

plot(...,‘PropertyName‘,PropertyValue,...)设置由plot创建的所有曲线句柄对象的属性,Line对象属性和属性值参见附录,具体设置参考下面的实例,当然可以使用set/get进行设置。

plot(axes_handle,...)指定坐标系,也就是在axes_handle坐标系中绘图,在没有指定时默认为gca。

h = plot(...)返回由plot创建的所有曲线句柄对象的句柄。每条曲线对应一个句柄,如果有n条曲线,则h为n×1的数组。

注意

在同时绘制多条曲线时,如果没有指定曲线属性,plot按顺序循环使用当前坐标系中ColorOrder和LineStyleOrder两个属性。

默认情况,MATLAB在每次调用plot函数时将ColorOrder和LineStyleOrder自动重置为DefaultAxesColorOrder和DefaultAxesLineStyleOrder。Default**属性我们可以自定义,有效期至MATLAB关闭,Matlab下次启动时将Default**属性重置为厂家设置(Factory)

set(0,‘DefaultAxesColorOrder‘,’r|g|b|k’,...
      ‘DefaultAxesLineStyleOrder‘,‘-|-.|--|:‘)

使用hold all命令可以阻止调用plot函数时自动重置ColorOrder和LineStyleOrder属性,而是循环使用。注意hold on只是使多次绘制的图形叠加(相当于NextPlot),但不能阻止属性重置。

另外我们可以通过下面四个属性设置标识符的颜色和大小

LineWidth——指定线宽

MarkerEdgeColor——指定标识符的边缘颜色

MarkerFaceColor——指定标识符填充颜色

MarkerSize——指定标识符的大小

注意上面四个属性是针对当前坐标系中所有曲线的

实例

% by dynamic

% see also http://www.matlabsky.com

% 2009.8.20

%

X=1:10;

% 两个都是数组,必须具有相同的尺寸

X1=[X;X;X]‘;%10×3

Y1=rand(10,3)+1;%10×3

% 其中一个为向量,另一个为数组,自动匹配尺寸相等方向

X2=1:0.1:10;%1×91

Y2=[sin(X2);cos(X2)]‘;%91×2

% 其中一个是标量,另一为矢量,绘制垂直坐标轴的离散点

X3=1:10;

Y3=-0.5;

fh=figure(‘numbertitle‘,‘off‘,‘name‘,‘PLOT Usability Demo‘);%创建figure对象

ah=axes;%创建axes对象

h=plot(...%返回所有曲线句柄

ah,...%指定坐标系,可以省略,此时默认gca

X1,Y1,...%坐标数据

‘-.^‘,...%曲线属性,可以省略或部分省略,此时自动选择

X2,Y2,...

‘m-‘,...

X3,Y3,...

‘o‘,...%注意此组数据设置线型和颜色无效,因为默认绘制离散点

‘LineWidth‘,2,...%线宽

‘MarkerEdgeColor‘,‘k‘,...%标识符边缘颜色

‘MarkerFaceColor‘,‘r‘,...%标识符填充颜色

‘MarkerSize‘,8)%标识符大小

时间: 2024-10-01 07:09:23

Matlab中plot函数全功能解析的相关文章

【原创】Matlab中plot函数全功能解析

[原创]Matlab中plot函数全功能解析 该帖由Matlab技术论(http://www.matlabsky.com)坛原创,更多精彩内容参见http://www.matlabsky.com 功能 二维曲线绘图 语法 plot(Y)plot(X1,Y1,...)plot(X1,Y1,LineSpec,...)plot(...,'PropertyName',PropertyValue,...)plot(axes_handle,...)h = plot(...)hlines = plot('v6

Matlab——plot函数全功能解析

转至:http://blog.sina.com.cn/s/blog_61c0518f0100f0lg.html 功能 二维曲线绘图 语法 plot(Y)plot(X1,Y1,...)plot(X1,Y1,LineSpec,...)plot(...,'PropertyName',PropertyValue,...)plot(axes_handle,...)h = plot(...)hlines = plot('v6',...) 描述 plot(Y)如果Y是m×n的数组,以1:m为X横坐标,Y中的每

matlab中subplot函数的功能 类似python

原文:http://blog.163.com/my_it_dream_pwj/blog/static/17841430520112294342649/ 和python 中类似 subplot 功能 分割figure,创建子坐标系 语法 h = subplot(m,n,p) or subplot(mnp)       subplot(m,n,p,'replace')       subplot(m,n,P)       subplot(h)       subplot('Position',[le

matlab 的plot 函数

基本形式 >> y=[0 0.58 0.70 0.95 0.83 0.25]; >> plot(y) 生成的图形是以序号为横坐标.数组y的数值为纵坐标画出的折线. >> x=linspace(0,2*pi,30); % 生成一组线性等距的数值 >> y=sin(x); >> plot(x,y) 生成的图形是上30个点连成的光滑的正弦曲线. 多重线 在同一个画面上可以画许多条曲线,只需多给出几个数组,例如 >> x=0:pi/15:2*

Matlab中rand(&#39;state&#39;,sum(clock))解析

一.问题来源 来自于一份PSO代码,PSO中需要初始化粒子位置和速度. 二.问题探究 众所周知,Matlab中的rand()函数产生的是伪随机数,但一般用来也可以接受.但是,如果我们知道伪随机数的初始状态,那么产生的伪随机数是唯一确定的.问题来了,Matlab每次启动会重置rand()和randn()的初始状态(重置为0),也就是说,你产生的随机数会出现两次随机数一模一样的情况,如: 1 >> rand('state',0) 2 >> rand(3,1) 3 4 ans = 5 6

matlab中norm函数的用法

格式:n=norm(A,p) 功能:norm函数可计算几种不同类型的矩阵范数,根据p的不同可得到不同的范数 以下是Matlab中help norm 的解释 NORM   Matrix or vector norm. For matrices... NORM(X) is the largest singular value of X, max(svd(X)). NORM(X,2) is the same as NORM(X). NORM(X,1) is the 1-norm of X, the l

matlab 中max函数用法

Matlab中max函数在矩阵中求函数大小的实例如下:(1)C = max(A)返回一个数组各不同维中的最大元素.如果A是一个向量,max(A)返回A中的最大元素.如果A是一个矩阵,max(A)将A的每一列作为一个向量,返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值. 如果A是多维数组,max(A) treats the values along the first non-singleton dimension as vectors, returning the maximum v

matlab中fspecial函数

fspecial函数 用于建立预定义的滤波算子,其语法格式为: h = fspecial(type) h = fspecial(type,para) 其中type指定算子的类型,para指定相应的参数: 2type的类型有 'average' averaging filter 为均值滤波,参数为hsize代表模板尺寸,默认值为[3,3]. H = FSPECIAL('average',HSIZE) returns an averaging filter H of size HSIZE. HSIZ

Matlab中intlinprog函数的用法总结

Matlab中 intlinprog函数用法简介 1.简介 intlinprog是matlab中用于求解混合整数线性规划(Mixed-integer linear programming)的一个函数,用法基本和linprog差不多 Matlab中,该模型的标注写法如下 \[ min\ f\,^Tx\;\; \s.t. \begin{equation} \left\{ \begin{array}{**lr**} x(intcon)\ are \ integers \ A \cdot x \leq