R中的曲线和绘图函数有什么区别?

时间:2018-08-31 01:02:06

标签: r

f1<-function(t)
    {
    sqrt((t^2)+1)
}

curve(f1,from=0,to = 5,n=10)
plot(f1,from=0,to = 5,n=10)

提供相同的输出。那么,曲线和曲线函数有什么区别?

1 个答案:

答案 0 :(得分:5)

功能不是很多。 plot最终会调用curve

plot是一个泛型函数,这意味着它有多种方法,具体取决于传递给它的对象的类(在这种情况下为函数)。要查找特定方法背后的代码,可以键入graphcs:::plot.<method>

在这种情况下,您可以看到plot应用于函数时,首先检查并调整其参数,然后才最终调用curve

> graphics:::plot.function
function (x, y = 0, to = 1, from = y, xlim = NULL, ylab = NULL, 
    ...) 
{
    if (!missing(y) && missing(from)) 
        from <- y
    if (is.null(xlim)) {
        if (is.null(from)) 
            from <- 0
    }
    else {
        if (missing(from)) 
            from <- xlim[1L]
        if (missing(to)) 
            to <- xlim[2L]
    }
    if (is.null(ylab)) {
        sx <- substitute(x)
        ylab <- if (mode(x) != "name") 
            deparse(sx)[1L]
        else {
            xname <- list(...)[["xname"]]
            if (is.null(xname)) 
                xname <- "x"
            paste0(sx, "(", xname, ")")
        }
    }
    curve(expr = x, from = from, to = to, xlim = xlim, ylab = ylab, 
        ...)
}