用R語言繪制函數(shù)曲線圖
函數(shù)曲線圖是研究函數(shù)的重要工具。
R 中 curve() 函數(shù)可以繪制函數(shù)的圖像,代碼格式如下:
curve(expr, from = NULL, to = NULL, n = 101, add = FALSE, type = "l", xname = "x", xlab = xname, ylab = NULL, log = NULL, xlim = NULL, …) # S3 函數(shù)的方法 plot(x, y = 0, to = 1, from = y, xlim = NULL, ylab = NULL, …)
注:R 語言的類有 S3 類和 S4 類,S3 類用的比較廣,創(chuàng)建簡單粗糙但是靈活,而 S4 類比較精細。
參數(shù):
- expr:函數(shù)表達式
- from 和 to:繪圖的起止范圍
- n:一個整數(shù)值,表示 x 取值的數(shù)量
- add:是一個邏輯值,當為 TRUE 時,表示將繪圖添加到已存在的繪圖中。
- type:繪圖的類型,p 為點、l 為直線, o 同時繪制點和線,且線穿過點。
- xname:用于 x 軸變量的名稱。
- xlim 和 ylim 表示x軸和y軸的范圍。
- xlab,ylab:x 軸和 y 軸的標簽名稱。
plot 函數(shù)中,x 和 y 分別表示所繪圖形的橫坐標和縱坐標。
以下我們繪制一個 sin(x) 函數(shù)的圖表:
curve(sin(x), -2 * pi, 2 * pi)
注意:任何計算機繪圖工具繪制的都是模式圖,它并不能保證與真的函數(shù)圖像一模一樣,它只是每隔一段距離取一個點,然后計算這個點的"高度"并繪制出來,為了保證曲線連續(xù)性,相鄰兩個點之間會有直線連接,所以在某些情況下例如 tan(x) 可能會出現(xiàn)錯誤:
在每一個 (2n+1)Pi / 2 的位置都會出現(xiàn)斷點,但是 R 的圖像將它們連接了,希望大家理解這一點。
當然,不是所有的函數(shù)都像 sin 一樣支持向量處理,我們也可以手動生成一個數(shù)字序列然后用 plot 函數(shù)生成函數(shù)圖像。假設函數(shù) f 僅支持單個數(shù)值作為參數(shù):
# 定義函數(shù) 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() 函數(shù)對向量數(shù)據(jù)進行繪圖:
# 向量數(shù)據(jù) v <- c(7,12,28,3,41) # 生成圖片 png(file = "line_chart_label_colored.jpg") # 繪圖、線圖顏色為紅色,main 參數(shù)用于設置標題 plot(v,type = "o", col = "red", xlab = "Month", ylab = "Rain fall", main = "Rain fall chart")
以上就是用R語言繪制函數(shù)曲線圖的詳細內(nèi)容,更多關于R語言繪制函數(shù)曲線圖的資料請關注腳本之家其它相關文章!
相關文章
R語言求一行(列表、list)數(shù)據(jù)的平均數(shù)操作
這篇文章主要介紹了R語言求一行(列表、list)數(shù)據(jù)的平均數(shù)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03R語言-實現(xiàn)將向量轉(zhuǎn)換成一個字符串
這篇文章主要介紹了R語言-實現(xiàn)將向量轉(zhuǎn)換成一個字符串,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04