MATLAB基本2D作圖(2)

在同一個坐標系中畫多個圖

至少有三種方法可以在同一個坐標系中畫多幅圖:

  1. 最簡單的辦法。

    使用hold命令讓繪圖操作保持在當前的坐標系中。在hold釋放之前(使用hold off或者只使用hold),所有的繪圖操作都會添加到當前的坐標系中;

  2. 使用plot繪圖的時候傳入多組參數。

    例如:plot(x1, y1, x2, y2, x3, y3, ...)將會繪制向量對(x1, y1),(x2, y2)等等。
    這種方法的優點:向量對可以有不同的長度,MATLAB自動地為每一對選擇不同地顏色。
    如果你正在同一坐標系中繪制兩幅圖的話,plotyy是個有用的函數。它允許左右兩側y軸不同。例如:

         x=(0:pi/20:2*pi);  
         plotyy(x, sin(x), x, 10*cos(x)) 
    

    會得到以下結果:

    plotyy
  3. 使用plot(X,Y)

    不同的地方在于,X,Y可以都是矩陣或者有一個矩陣一個向量。下面要分幾種情況:

    • 如果X或者Y其中一個是矩陣,一個是向量,矩陣的行或者列會和向量結合來繪圖,每個都使用不同的顏色。使用矩陣的行還是列,取決于誰和向量的元素數量相同。如果是方陣的話,那就使用列。看下面的例子:

      matrix-xy

      由于X的行的數目和y的元素數目相等,那么使用X的每一列和y進行繪圖。建議大家自己嘗試一下。

      plot-mat-v
    • 如果X和Y是具有相同維數的矩陣,那么就是使用X的第i列與Y的第i列進行繪圖,看下面的例子:

        X=rand(3,2);Y=rand(3,2);
        plot(X,Y,'om--')
      

      得到結果如下圖:

      plot_mat_mat

    • 如果不指定X,只傳入矩陣Y作為參數:plot(Y)。那么Y的每一列將會以元素所在行號為索引繪圖。例如:

        Y=rand(3,2);plot(Y,'om--')  
      

      得到結果如下圖:

      plot-y

線風格、點標記和顏色

通過給plot函數傳遞一個字符串參數來指定繪圖中使用的線風格、點標記和顏色。例如:

plot(x,y,'--')  
表示畫線的時候使用虛線;  
plot(x,y,'o')  
表示在數據點處畫上圓圈,并且不用線來連接他們;  
plot(x,sin(x),x,cos(x),'om--')
表示以默認的風格繪制sin(x),用品紅色虛線和圓圈繪制cos(x)。

plot函數有很多其他的參數,help plot會告訴你更多的選項。

plot_style

坐標軸

當你使用MATLAB畫圖的時候,它會自動的縮放坐標軸來適應數據的范圍。可以這樣指定坐標軸范圍:

axis([xmin, xmax, ymin, ymax])

如果你只想指定最大值或者最小值其中之一,可以使用Inf或者-Inf讓MATLAB對其他坐標軸自動縮放。
使用axis auto可以返回到坐標軸自動縮放的狀態。
v = axis返回當前的坐標軸縮放向量v。
axis manual使繪圖保持當前的坐標軸縮放,后續的繪圖使用同樣的坐標軸。
axis equal使x軸和y軸單位長度等長,這樣畫出來的圓形看起來使圓的。可以通過axis normal取消。
axis on和axis off可以控制坐標軸和數值標記是否顯示。

在同一個窗口中畫多幅圖

使用subplot函數在同一個窗口中繪制多幅圖。subplot(m,n,p)把窗口分成m*n個坐標系的集合,并選擇第p個坐標系作為當前繪圖操作的坐標系。例如,下面的語句將會繪制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)')

繪圖結果如下:

subplot

figure,clf和cla

figure(h),傳入一個整數h,創建一個新的窗口或者把窗口h作為當前窗口,接下來就繪制在當前窗口中,h稱作窗口句柄。
clf清除當前窗口,并且重置坐標系的所有屬性,例如hold狀態和axis狀態。
cla從當前坐標系中刪除所有的圖和文字,只留下x軸、y軸和它們的信息。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 顯示中文幫助的方法 預設→常規→幫助→在mathworks.com網站上(需要Internet連接)→語言(簡體中...
    VeyronC閱讀 2,511評論 0 34
  • 1. 普通 t1 : t2 : t3;從t1到t3,間隔取t2 linspace(始,終,元素個數); = [];...
    Wh_Fanatic閱讀 572評論 0 4
  • 3.1 使用圖形 使用代碼保存圖形:保存為PDF—pdf(filename),其它格式:win.metafile(...
    壹亮3278閱讀 2,600評論 0 53
  • 變換(Transformations) 我們可以嘗試著在每一幀改變物體的頂點并且重設緩沖區從而使他們移動,但這太繁...
    IceMJ閱讀 4,186評論 0 1
  • 本文#感悟三下鄉,青春筑夢行#活動,本人承諾,文章內容為原創,且未在其他平臺發表過 驕陽似火的六月,“暑期三下鄉教...
    f467a377b675閱讀 276評論 0 0