11/06/2006

第九章 繪圖

一圖勝萬語,在工程上有圖則一目了然,無圖搭配則如隔鞋搔癢,很難得窺得全貌,這也是一般作業偏重於圖說的原因。在MATLAB中,繪圖指令是其重要的功能,利用程式與繪圖指令結合,可以將結果以圖形顯現,有助於過程之瞭解及結果之分析,這項工作在機動學之分析尤為重要。本章將以實例解說,以配合實際之應用。

繪圖的目的若僅為表現資料的走向或變化趨勢,則可採用不同的觀察角度,使資料的內涵更能彰顯。就圖之特性分類,可包括塊狀圖、柱狀圖、點示圖、線示圖等,而就其空間而言,又可分為2D或3D圖,前者取其實用性,後者取其美觀性。

一些繪圖之基本原則將在本節中討論。簡單的繪圖只需幾個指令即可達成,若要圖樣有複雜的外觀,則必須瞭解指令中之參數設定。其中包括線條之顏色、粗細、形狀及組成的內涵。執行時並不一定要設定所有的參數。由於有預設值,不設定也可使繪圖指令順利執行。本節雖不能詳盡說明所有的功能,但至少可釐清一些繪圖的概念,並由諸多範例中得到所需之結果。其他報告用圖表,有時必須採用細緻的描圖方式,並確定圖的位置、型式及顏色。這些參數將在後面章節逐一介紹。

MATLAB之繪圖功能強,並提供相當多的繪圖指令及繪圖技巧,可以將資料以不同圖形顯現。在學習繪圖過程中常用的方式有兩種,其一是利用繪圖工具,以交談的方式產生所需的的圖形;其二是利用各種繪圖指令,配合輸入之資料進行繪圖。前者有特定的工具可以修飾圖形外觀;後者則直接由指令進行繪圖。有時候,兩者並用也可以產生複雜而美觀的圖面,且不必費太多心思在程式上。

繪圖之一般程序可歸納如下:

  1. 準備資料:例如
    x=0:2:10;
    y1=x.^2; y2=sqrt(x);

  2. 選擇適當圖形視窗及繪製區間:
    figure(1)
    subplot(2,2,1)

  3. 呼叫基本繪圖函數:
    h=plot(x,y1,x,y2)

  4. 選擇曲線型式及標記特性:
    set(h, 'LineWidth',2,{'LineStyle'},{'--';':';'-.'})
    set(h, {'Color'},{'r';'g';'b'})

  5. 設定軸範圍及網線:
    axis([0 12 0 10]);
    grid on/off;

  6. 加註座標名稱、圖標及文字:
    xlabel('No. of Counts');
    ylabel('Response')
    legend(h, 'First','Last')
    title('Test of the Graph')
    text(x,y,'Say Hello to Everyone')

  7. 輸出圖形:
    print -depsc -tiff -r200 myplot