用R語言繪制函數曲線圖
函數曲線圖是研究函數的重要工具。
R 中 curve() 函數可以繪制函數的圖像,代碼格式如下:
curve(expr, from = NULL, to = NULL, n = 101, add = FALSE, type = "l", xname = "x", xlab = xname, ylab = NULL, log = NULL, xlim = NULL, …) # S3 函數的方法 plot(x, y = 0, to = 1, from = y, xlim = NULL, ylab = NULL, …)
註:R 語言的類有 S3 類和 S4 類,S3 類用的比較廣,創建簡單粗糙但是靈活,而 S4 類比較精細。
參數:
- expr:函數表達式
- from 和 to:繪圖的起止范圍
- n:一個整數值,表示 x 取值的數量
- add:是一個邏輯值,當為 TRUE 時,表示將繪圖添加到已存在的繪圖中。
- type:繪圖的類型,p 為點、l 為直線, o 同時繪制點和線,且線穿過點。
- xname:用於 x 軸變量的名稱。
- xlim 和 ylim 表示x軸和y軸的范圍。
- xlab,ylab:x 軸和 y 軸的標簽名稱。
plot 函數中,x 和 y 分別表示所繪圖形的橫坐標和縱坐標。
以下我們繪制一個 sin(x) 函數的圖表:
curve(sin(x), -2 * pi, 2 * pi)
註意:任何計算機繪圖工具繪制的都是模式圖,它並不能保證與真的函數圖像一模一樣,它隻是每隔一段距離取一個點,然後計算這個點的”高度”並繪制出來,為瞭保證曲線連續性,相鄰兩個點之間會有直線連接,所以在某些情況下例如 tan(x) 可能會出現錯誤:
在每一個 (2n+1)Pi / 2 的位置都會出現斷點,但是 R 的圖像將它們連接瞭,希望大傢理解這一點。
當然,不是所有的函數都像 sin 一樣支持向量處理,我們也可以手動生成一個數字序列然後用 plot 函數生成函數圖像。假設函數 f 僅支持單個數值作為參數:
# 定義函數 f f = function (x) { if (x >= 0) { x } else { x ^ 2 } } # 生成自變量序列 x = seq(-2, 2, length=100) # 生成因變量序列 y = rep(0, length(x)) j = 1 for (i in x) { y[j] = f(i) j = j + 1 } # 繪制圖像 plot(x, y, type='l')
接下來我們使用 plot() 函數對向量數據進行繪圖:
# 向量數據 v <- c(7,12,28,3,41) # 生成圖片 png(file = "line_chart_label_colored.jpg") # 繪圖、線圖顏色為紅色,main 參數用於設置標題 plot(v,type = "o", col = "red", xlab = "Month", ylab = "Rain fall", main = "Rain fall chart")
以上就是用R語言繪制函數曲線圖的詳細內容,更多關於R語言繪制函數曲線圖的資料請關註WalkonNet其它相關文章!