在同一個坐標(biāo)系中畫多個圖
至少有三種方法可以在同一個坐標(biāo)系中畫多幅圖:
-
最簡單的辦法。
使用hold命令讓繪圖操作保持在當(dāng)前的坐標(biāo)系中曲秉。在hold釋放之前(使用hold off或者只使用hold)已亥,所有的繪圖操作都會添加到當(dāng)前的坐標(biāo)系中熊赖;
-
使用plot繪圖的時候傳入多組參數(shù)。
例如:plot(x1, y1, x2, y2, x3, y3, ...)將會繪制向量對(x1, y1),(x2, y2)等等虑椎。
這種方法的優(yōu)點:向量對可以有不同的長度震鹉,MATLAB自動地為每一對選擇不同地顏色俱笛。
如果你正在同一坐標(biāo)系中繪制兩幅圖的話,plotyy是個有用的函數(shù)传趾。它允許左右兩側(cè)y軸不同迎膜。例如:x=(0:pi/20:2*pi); plotyy(x, sin(x), x, 10*cos(x))
會得到以下結(jié)果:
plotyy -
使用plot(X,Y)
不同的地方在于,X,Y可以都是矩陣或者有一個矩陣一個向量浆兰。下面要分幾種情況:
-
如果X或者Y其中一個是矩陣磕仅,一個是向量,矩陣的行或者列會和向量結(jié)合來繪圖簸呈,每個都使用不同的顏色榕订。使用矩陣的行還是列,取決于誰和向量的元素數(shù)量相同蜕便。如果是方陣的話劫恒,那就使用列〗蜗伲看下面的例子:
matrix-xy由于X的行的數(shù)目和y的元素數(shù)目相等两嘴,那么使用X的每一列和y進行繪圖。建議大家自己嘗試一下族壳。
plot-mat-v -
如果X和Y是具有相同維數(shù)的矩陣憔辫,那么就是使用X的第i列與Y的第i列進行繪圖,看下面的例子:
X=rand(3,2);Y=rand(3,2); plot(X,Y,'om--')
得到結(jié)果如下圖:
plot_mat_mat -
如果不指定X决侈,只傳入矩陣Y作為參數(shù):plot(Y)螺垢。那么Y的每一列將會以元素所在行號為索引繪圖喧务。例如:
Y=rand(3,2);plot(Y,'om--')
得到結(jié)果如下圖:
plot-y
-
線風(fēng)格赖歌、點標(biāo)記和顏色
通過給plot函數(shù)傳遞一個字符串參數(shù)來指定繪圖中使用的線風(fēng)格、點標(biāo)記和顏色功茴。例如:
plot(x,y,'--')
表示畫線的時候使用虛線庐冯;
plot(x,y,'o')
表示在數(shù)據(jù)點處畫上圓圈,并且不用線來連接他們坎穿;
plot(x,sin(x),x,cos(x),'om--')
表示以默認的風(fēng)格繪制sin(x)展父,用品紅色虛線和圓圈繪制cos(x)。
plot函數(shù)有很多其他的參數(shù)玲昧,help plot會告訴你更多的選項栖茉。
坐標(biāo)軸
當(dāng)你使用MATLAB畫圖的時候,它會自動的縮放坐標(biāo)軸來適應(yīng)數(shù)據(jù)的范圍孵延÷榔可以這樣指定坐標(biāo)軸范圍:
axis([xmin, xmax, ymin, ymax])
如果你只想指定最大值或者最小值其中之一,可以使用Inf或者-Inf讓MATLAB對其他坐標(biāo)軸自動縮放尘应。
使用axis auto可以返回到坐標(biāo)軸自動縮放的狀態(tài)惶凝。
v = axis返回當(dāng)前的坐標(biāo)軸縮放向量v吼虎。
axis manual使繪圖保持當(dāng)前的坐標(biāo)軸縮放,后續(xù)的繪圖使用同樣的坐標(biāo)軸苍鲜。
axis equal使x軸和y軸單位長度等長思灰,這樣畫出來的圓形看起來使圓的』焯希可以通過axis normal取消洒疚。
axis on和axis off可以控制坐標(biāo)軸和數(shù)值標(biāo)記是否顯示。
在同一個窗口中畫多幅圖
使用subplot函數(shù)在同一個窗口中繪制多幅圖坯屿。subplot(m,n,p)把窗口分成m*n個坐標(biāo)系的集合拳亿,并選擇第p個坐標(biāo)系作為當(dāng)前繪圖操作的坐標(biāo)系。例如愿伴,下面的語句將會繪制4幅圖:
[x,y]=meshgrid(-3:0.3:3);
z=x.*exp(-x.^2 - y.^2);
subplot(2,2,1)
mesh(z),title('subplot(2,2,1)')
subplot(2,2,2)
mesh(z),view(-37.5,70),title('subplot(2,2,2)')
subplot(2,2,3)
mesh(z),view(37.5,-10),title('subplot(2,2,3)')
subplot(2,2,4)
mesh(z),view(0,0),title('subplot(2,2,4)')
繪圖結(jié)果如下:
figure,clf和cla
figure(h),傳入一個整數(shù)h肺魁,創(chuàng)建一個新的窗口或者把窗口h作為當(dāng)前窗口,接下來就繪制在當(dāng)前窗口中隔节,h稱作窗口句柄鹅经。
clf清除當(dāng)前窗口,并且重置坐標(biāo)系的所有屬性怎诫,例如hold狀態(tài)和axis狀態(tài)瘾晃。
cla從當(dāng)前坐標(biāo)系中刪除所有的圖和文字,只留下x軸幻妓、y軸和它們的信息蹦误。