這裡介紹 R 的一些基本繪圖函數使用方式。

plot 函數

這裡我們繼續採用 vegetation 的資料來做示範,這個資料是黃石國家公園(Yellowstone National Park)與 National Bison Range 所觀測到的草原生態資料,研究的目的在於觀察這裡的生物多樣性是否有隨著時間而改變。首先讀取

Veg <- read.table(file = "Vegetation2.txt", header = TRUE)

如果我們想要畫出物種豐富度(Veg$R)與外露泥土(Veg$BARESOIL)的關係分布圖,可以執行:

plot(Veg$BARESOIL, Veg$R)

畫出來的圖會像這樣

r-basic-plotting-tools-scatterplot-1

plot 函數的第一個參數是指定橫軸的資料,而第二個參數則是指定縱軸的資料,通常我們會習慣將反應變數(response variable)設定為縱軸,而解釋變數(explanatory variable)設定為橫軸。這裡要注意一點,在 R 中有許多函數在指定模型時,反應變數會寫在前面,接著才是解釋變數,如果怕混淆,可以使用具名參數的寫法:

plot (x = Veg$BARESOIL, y = Veg$R)

plot 也可以使用 data 參數指定資料來源的 data frame,但是他的用法會有些不同:

plot (R ~ BARESOIL, data = Veg)

我們可以利用 plot 所提供的各種參數設定座標軸的名稱、繪圖區間等等資訊:

plot (x = Veg$BARESOIL, y = Veg$R,
  xlab = "Exposed soil",
  ylab = "Species richness",
  main = "Scatter plot",
  xlim = c(0, 45), ylim = c(4, 19))

xlabylab 是指定 x 軸與 y 軸的

畫出的圖形為

r-basic-plotting-tools-scatterplot-2

我們也可以用這樣的方式自動指定繪圖的區間:

xlim = c(min(Veg$BARESOIL), max(Veg$BARESOIL))

如果資料中存在有缺失值,記得要加上 na.rm = TRUE

xlim = c(min(Veg$BARESOIL, na.rm = TRUE),
  max(Veg$BARESOIL, na.rm = TRUE))