3-3 炩b

一般而言,plot 指令會根據所給的座標點來自動決定圖軸的範圍,但是也可以使用 axis 指令來指定之,其使用語法如下:

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

其中 xmin 和 xmax 指定 x 軸的最小和最大值,ymin 和 ymax 則指定 y 軸的最小和最大值。例如,欲畫出正弦波在 y 軸介於 0 和 1 的部份,可輸入如下:

Example 1: 03-二維平面繪圖/plotxy10.mx = 0:0.1:4*pi; % x 向量的起始與結束元素為 0 及 % 4π、0.1 為各元素相差值 y = sin(x); plot(x, y); axis([-inf, inf, 0, 1]); % 畫出正弦波 y 軸介於 0 % 和 1 的部份

其中使用到 – inf 及 inf,並不是代表「負無窮大到正無窮大」,而是代表以資料點(上例中即是 x 軸的資料點)的最小和最大值來取代之,因此上述 axis 指令等效於 axis([min(x), max(x), 0, 1])。

MATLAB 亦可指定圖軸上的格線點(Ticks),例如:

Example 2: 03-二維平面繪圖/plotxy11.mx = 0:0.1:4*pi; plot(x, sin(x)+sin(3*x)) set(gca, 'ytick', [-1 -0.3 0.1 1]); % 在 y 軸加上格線點 grid on % 加上格線

其中 grid on 的功能即是加上格線。此外,gca 是「get current axis」的簡稱,可以傳回目前使用中的圖軸。(gca 是屬於 Handle Graphics 的指令,在第七章「握把式圖形與GUI設計」會有更詳細的說明。)

除了改變格線點外,亦可將格線點的數字改為文字,如下:

Example 3: 03-二維平面繪圖/plotxy12.mx = 0:0.1:4*pi; plot(x, sin(x)+sin(3*x)) set(gca, 'ytick', [-1 -0.3 0.1 1]) set(gca, 'yticklabel', {'極小','臨界值','崩潰值','極大'}) grid on % 加上格線

若要在一個視窗產生多個圖形(即圖軸),可在 plot 指令之前加上 subplot,其一般形式為 subplot (m, n, p),表示將視窗劃分為 m×n 個區域,而下一個 plot 指令則會繪圖於第 p 個區域,其中 p 的算法為由左至右,一列一列算起。舉例來說,可以同時畫出四個圖於一個視窗當中:

Example 4: 03-二維平面繪圖/plotxy13.mx = 0:0.1:4*pi; subplot(2, 2, 1); plot(x, sin(x)); % 此為左上角圖形 subplot(2, 2, 2); plot(x, cos(x)); % 此為右上角圖形 subplot(2, 2, 3); plot(x, sin(x).*exp(-x/5)); % 為左下角圖形 subplot(2, 2, 4); plot(x, x.^2); % 此為右下角圖形

另一個圖軸的重要性質,就是其長寬比(Aspect Ratio),一般圖軸長寬比的預設值是視窗的長寬比,但我們可在 axis 指令之後加上不同的字串來修改之,舉例如下:

Example 5: 03-二維平面繪圖/plotxy14.mt = 0:0.1:2*pi; x = 3*cos(t); y = sin(t); subplot(2, 2, 1); plot(x, y); axis normal subplot(2, 2, 2); plot(x, y); axis square subplot(2, 2, 3); plot(x, y); axis equal subplot(2, 2, 4); plot(x, y); axis equal tight

下表為改變目前圖軸長寬比的指令,這些指令需在 plot 指令之後呼叫才能發揮效用。

指令說明
axis normal使用預設長寬比(等於圖形長寬比)
axis square長寬比例為 1
axis equal長寬比例不變,但兩軸刻度一致
axis equal tight兩軸刻度比例一致,且圖軸貼緊圖形
axis image兩軸刻度比例一致(適用於影像顯示)

若要改變圖軸與視窗之背景顏色,可用 colordef 指令,詳見下表說明。必需注意的是:您必需先呼叫 colordef 指令,才能在其後 plot 指令所產生的圖形發揮效用。

指令說明
colordef white 圖軸背景為白色,視窗背景為淺灰色
colordef black 圖軸背景為黑色,視窗背景為暗灰色
colordef none 圖軸背景為黑色,視窗背景為黑色(這是 MATLAB 第 4 版的預設值)

此外,若要畫出格線或畫出圖軸外圍的方形,可用 grid 與 box 指令,詳見下表。

指令說明
grid on 畫出格線
grid off 取消格線
box on 畫出圖軸的外圍長方形
box off 取消圖軸的外圍長方形


MATLAB程式設計:入門篇