curve
位於 graphics
包(package)。 說明
繪製與區間上的函數相對應的曲線[from, to]
.curve
還可以繪製變量中的表達式xname
, 默認 'x’。
用法
curve(expr, from = NULL, to = NULL, n = 101, add = FALSE,
type = "l", xname = "x", xlab = xname, ylab = NULL,
log = NULL, xlim = NULL, ...)
## S3 method for class 'function'
plot(x, y = 0, to = 1, from = y, xlim = NULL, ylab = NULL, ...)
參數
expr |
函數的名稱,或者寫為 |
x |
‘vectorizing’ 數字R函數。 |
y |
|
from, to |
繪製函數的範圍。 |
n |
整數;要評估的 x 值的數量。 |
add |
邏輯性; if |
xlim |
|
type |
繪圖類型:參見 |
xname |
給出用於 x 軸的名稱的字符串。 |
xlab, ylab, log, ... |
標簽和graphical parameters也可以指定為參數。有關 對於 |
細節
函數或表達式 expr
(對於 curve
)或函數 x
(對於 plot
)在 [from, to]
範圍內等距的 n
點處進行計算。然後繪製以這種方式確定的點。
如果 from
或 to
是 NULL
,則默認為 xlim
的相應元素(如果不是 NULL
)。
當兩者都沒有時會發生什麽from
/to
也不xlim
指定 x-limits 是一個複雜的故事。為了plot(<function>)
並為curve(add = FALSE)
默認值是 。為了curve(add = NA)
和curve(add =
TRUE)
默認值取自上一個繪圖使用的x-limits。 (這與以下版本不同R2.14.0 之前。)
log
的值用於指定繪圖軸(除非 add = TRUE
)以及如何解釋“等距”:如果 x 分量表示對數縮放,則繪製表達式或函數的點是相等的以對數刻度間隔。
當 add = TRUE
時,log
的默認值取自當前繪圖,而如果 add = NA
則 x 分量取自現有繪圖(如果有),並且 y 分量默認為線性。對於add = FALSE
,默認值為""
這曾經是一個快速的破解,現在似乎有一個有用的目的,但可能會給不流暢的函數帶來不好的結果。
對於expensive-to-compute expr
會話,您應該使用更智能的工具。
curve
處理 expr
的方式引起了混亂。它首先查看expr
是否是name(也稱為符號),在這種情況下,它被視為函數的名稱,並且expr
被替換為對expr
的調用名稱由 xname
指定的單個參數。否則,它會檢查 expr
是 call 或 expression ,並且它包含對 xname
給出的變量的引用(使用 all.vars
):其他任何內容都是錯誤。然後,在提供由 xname
給出、長度為 n
的名稱向量的環境中評估 expr
,並且應評估為長度為 n
的對象。請注意,這意味著 curve(x, ...)
被視為繪製名為 x
的函數的請求(並且在 plot
的 function
方法中如此使用)。
plot
方法可以直接調用 plot.function
。
值
以不可見方式返回包含所繪製點的組件 x
和 y
的列表。
警告
由於曆史原因,允許 add
作為 plot
的 "function"
方法的參數,但其行為可能會讓您感到驚訝。建議僅將 add
與 curve
一起使用。
例子
plot(qnorm) # default range c(0, 1) is appropriate here,
# but end values are -/+Inf and so are omitted.
plot(qlogis, main = "The Inverse Logit : qlogis()")
abline(h = 0, v = 0:2/2, lty = 3, col = "gray")
curve(sin, -2*pi, 2*pi, xname = "t")
curve(tan, xname = "t", add = NA,
main = "curve(tan) --> same x-scale as previous plot")
op <- par(mfrow = c(2, 2))
curve(x^3 - 3*x, -2, 2)
curve(x^2 - 2, add = TRUE, col = "violet")
## simple and advanced versions, quite similar:
plot(cos, -pi, 3*pi)
curve(cos, xlim = c(-pi, 3*pi), n = 1001, col = "blue", add = TRUE)
chippy <- function(x) sin(cos(x)*exp(-x/2))
curve(chippy, -8, 7, n = 2001)
plot (chippy, -8, -5)
for(ll in c("", "x", "y", "xy"))
curve(log(1+x), 1, 100, log = ll, sub = paste0("log = '", ll, "'"))
par(op)
也可以看看
相關用法
- R contour 顯示輪廓
- R coplot 調節圖
- R clip 設置剪切區域
- R convertXY 圖形坐標係之間的轉換
- R cdplot 條件密度圖
- R legend 將圖例添加到繪圖中
- R barplot 條形圖
- R plot.histogram 繪製直方圖
- R points 向繪圖添加點
- R stem 莖葉圖
- R mtext 將文本寫入繪圖的邊距
- R arrows 將箭頭添加到繪圖中
- R pairs 散點圖矩陣
- R stars 星圖(蜘蛛圖/雷達圖)和線段圖
- R box 在地塊周圍畫一個方框
- R smoothScatter 具有平滑密度顏色表示的散點圖
- R mosaicplot 馬賽克圖
- R bxp 從摘要中繪製箱線圖
- R plot.raster 繪製光柵圖像
- R axTicks 計算軸刻度線位置
- R plot.factor 繪製因子變量
- R sunflowerplot 製作向日葵散點圖
- R plot.table 表對象的繪圖方法
- R units 圖形單位
- R identify 識別散點圖中的點
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Draw Function Plots。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。