为什么会有main和title?

Why is there main and title?

有两个不同的选项(main 在绘图中和 title 之后,再次调用 main)向绘图添加 header。我想知道这两者之间有什么区别。我应该使用哪一个?

下面的代码给出了一个最小示例并生成了图表。

library(mvtnorm)
par(mfrow=c(2,1))
x = rmvnorm(10,c(2,2),matrix(c(2,0,0,2),2))
plot(x, main='title')
plot(x)
title(main='title')

感谢您的帮助。

它们是相同的,除了 title 允许您在制作情节后添加标题,而不是自动定义它。使用最方便的那个。例如,如果您在 plot 中指定了很多参数,您可能希望在单独的行中指定标题以使您的代码更具可读性。

要查看它们是否等效,请查看控制台中 plot.default() 的定义。最后一行是对 title() 的间接调用,其中 mainsub 通过:

> plot.default
function (x, y = NULL, type = "p", xlim = NULL, ylim = NULL, 
    log = "", main = NULL, sub = NULL, xlab = NULL, ylab = NULL, 
    ann = par("ann"), axes = TRUE, frame.plot = axes, panel.first = NULL, 
    panel.last = NULL, asp = NA, ...) 
{

    # [code left out for clarity]

    localTitle <- function(..., col, bg, pch, cex, lty, lwd) title(...)

    # [code left out for clarity]

    if (ann) 
        localTitle(main = main, sub = sub, xlab = xlab, ylab = ylab, 
            ...)
    invisible()
}