Matlab中plot函数参数解析功能
⼆维曲线绘图
语法
1 2 3 4 5 6 7plot(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×1m×n或n×m⾃动匹配尺⼨相同⽅向绘制m条曲线任意四种组合,效果⼀样
m×n或n×m1×n或n×1同上同上
1×11×n或n×1绘制垂直X轴离散点Y可以任意向量
1×n或n×11×1绘制垂直Y轴离散点X可以任意向量
plot(X1,Y1,LineSpec,...)通过参数LineSpec指定曲线的曲线属性,它包括线型、标记符和颜⾊。plot函数⽀持同时绘制任意组图形
用subplot函数1plot(X1,Y1,LineSpec1,X2,Y2,LineSpec2,...)
此时完全等效于
1 2 3 4 5plot(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'等形式是等效的,都表⽰使⽤红⾊点划线连接各个节点,各节点使⽤“*”标识。
1 2 3plot(...,'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)
1 2 3set(0,'DefaultAxesColorOrder',’r|g|b|k’,... 'DefaultAxesLineStyleOrder','-|-.|--|:')
使⽤hold all命令可以阻⽌调⽤plot函数时⾃动重置ColorOrder和LineStyleOrder属性,⽽是循环使⽤。注意hold on只是使多次绘制的图形叠加(相当于NextPlot),但不能阻⽌属性重置。
另外我们可以通过下⾯四个属性设置标识符的颜⾊和⼤⼩
1 2 3 4 5 6 7LineWidth——指定线宽MarkerEdgeColor——指定标识符的边缘颜⾊MarkerFaceColor——指定标识符填充颜⾊MarkerSize——指定标识符的⼤⼩
注意上⾯四个属性是针对当前坐标系中所有曲线的实例
1
2 3 4 5 6 7 8 9 10 11% by dynamic
% see also www.matlabsky % 2009.8.20
%
X=1:10;
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57% 两个都是数组,必须具有相同的尺⼨
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)%标识符⼤⼩
subplot函数解析:
subplot是将多个图画到⼀个平⾯上的⼯具。其中,m表⽰是图排成m⾏,n表⽰图排成n列,也就是整个figure中有n个图是排成⼀⾏的,⼀共m⾏,如果第⼀个数字是2就是表⽰2⾏图。p是指你现在要把曲
线画到figure中哪个图上,最后⼀个如果是1表⽰是从左到右第⼀个位置。下⾯是这个例⼦,可加深理解:
x1=[1 2 3];x2=x1;x3=x2;x4=x1;
y1=[2 4 6];y2=2*y1;y3=3*y1;y4=4*y1;
subplot(2,2,1)
plot(x1,y1);
axis([0,20,0,20])
subplot(2,2,2)
plot(x2,y2);
axis([0,20,0,20])
subplot(2,2,3)
plot(x3,y3)
axis([0,20,0,20])
subplot(2,2,4)
plot(x4,y4)
axis([0,20,0,20])
结果为:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论