MATLAB plot绘图参数解析

功能

二维曲线绘图

 

语法

1
2
3
4
5
6
7
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函数支持同时绘制任意组图形

 

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

 

此时完全等效于

 

1
2
3
4
5
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'等形式是等效的,都表示使用红色点划线连接各个节点,各节点使用“*”标识。

 

1
2
3
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)

 

1
2
3
set( 0 , 'DefaultAxesColorOrder' ,’r|g|b|k’,...
       'DefaultAxesLineStyleOrder' , '-|-.|--|:' )

  

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

 

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

1
2
3
4
5
6
7
LineWidth——指定线宽
 
MarkerEdgeColor——指定标识符的边缘颜色
 
MarkerFaceColor——指定标识符填充颜色
 
MarkerSize——指定标识符的大小

  

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

 

实例

1
2
3
4
5
6
7
8
9
10
11
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
% 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 )%标识符大小

  

 

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])

结果为:

 



作者: 木木
博客文章大部分为原创,版权归作者和博客园共有,欢迎转载。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值