matlab 曲線屬性設置

二維曲線繪圖

 

語法

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

結果爲:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章