R 自學指引之進階 繪圖命令簡介與操作
文/圖:陸聲忠
市面上有許多為了機率統計而設計的軟體,像是 SPSS、SAS、MINITAB、S-PLUS 等,但其售價卻相當高昂。R同樣是為了機率統計而設計的軟體,但卻是開源的,R所使用的程式語言,被稱為 R 語言。R 語言與 S-PLUS 使用的語言類似,有非常強大的繪圖命令,透過內建的高階繪圖命令雖可迅速繪出常見的統計圖表。但是在某些情況下,可能無法滿足使用者一些特殊要求,這次我們就來學習一下如何修正這些問題。
使用 R 過程中可能出現各種的問題,如座標軸或標題出界了、圖例說明位置遮擋住圖形了、預設的顏色也無法達到我們的要求等等,此時就可使用 par() 命令來修正這些問題,除了 par() 命令參數的簡介與應用外。本文也會介紹一些低階繪圖命令來客制化您的圖表,使其不僅美觀且更具可讀性,同時也涵蓋許多統計學上的複雜圖表。例如在一個已經存在的圖表上,加上其它的圖形元素,如更改圖表中的符號、字形、顏色及線條。座標軸和文字部份則告訴讀者如何自訂圖表的座標軸並加上參考線、文字註解及圖例。
繪圖命令的類型
R 的繪圖命令大致可以分為三個基本類型。首先是高階繪圖命令 (High Level Plotting Functions) 這會在圖形裝置上產生一個全新的圖區,包括坐標軸、標籤、標題等。第二是低階繪圖命令 (Low Level Plotting Functions),會在一個已經存在的繪圖上加上其它的圖形元素,如額外的點,線與標籤等。第三是互動式繪圖命令 (Interactive Graphics Functions),允許互動式的使用其他設備如滑鼠,在一個已經存在的繪圖上,加上圖形資訊或者萃取圖形中的資訊。
繪圖參數
透過繪圖的選項 (Options),可以客制化圖表的某些特色如字體、顏色、座標軸、主標題等。指定這些選項的方法之一,就是使用 par() 命令。一旦設定了參數 (Parameter),這些改變將會影響往後期間的操作,除非再次更改它們。命令格式如下。
par(optionname=value, optionname=value)
以顯示顏色為例,可用以下命令。
par(“col”) (ENTER)
[1] “black”
par(col=”red”) (ENTER)
par(“col”) (ENTER)
[1] “red”
我們可使用 par() 設定繪圖參數,要查看目前的設定可用以下命令。
par() (ENTER)
$xlog
[1] FALSE
用以下命令可備份目前的設定。
opar <- par() (ENTER)
以下命令可設定x、y軸標籤為紅色。
par(col.lab=”red”) (ENTER)
以下命令可使用新設定建立圖表。
hist(mtcars$mpg) (ENTER)
要回復原來設定,可用以下命令。
par(opar) (ENTER)
另一個方法就是直接在高階繪圖命令如 plot、hist、boxplot,藉由 optionname=value 語法指定繪圖參數。例如要在繪圖命令中設定繪圖參數,可用以下命令。
hist(mtcars$mpg, col.lab=”red”) (ENTER)
這些選項如此只會影響被指定的圖表。查詢高級繪圖命令如 plot、hist、boxplot 的線上說明,可得知有那些參數可以用這種方法設定,以下將介紹一些可設定且比較重要的繪圖參數。下列選項可用來調整圖表中文字與符號的大小(表1)。
選項 | 說明 |
---|---|
cex | 用於表示對預設的繪圖文字和符號放大倍數。 |
cex.axis | 表示在目前的 cex 設定情況下,對座標軸刻度值字體的放大倍數。 |
cex.lab | 表示在目前的 cex 設定情況下,對xy軸標籤名稱字體的放大倍數。 |
cex.main | 表示在目前的 cex 設定情況下,對主標題字體的放大倍數。 |
cex.sub | 表示在目前的 cex 設定情況下,對次標題字體的放大倍數。 |
表1:調整圖表中文字與符號的大小選項。