2016-06-02 7 views
-1

Es gibt zwei verschiedene Optionen (main im Plot und title danach, die wiederum main aufruft), um eine Kopfzeile zum Plot hinzuzufügen. Ich möchte wissen, was der Unterschied zwischen diesen beiden ist. Welchen soll ich verwenden?Warum gibt es Haupt- und Titel?

Der folgende Code gibt ein minimales Beispiel und erzeugt die Graphen.

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') 

<code>Title</code> and <code>main</code> used for two graphs.

Vielen Dank für Ihre Hilfe.

+2

Haben Sie die Hilfedateien gelesen? '? title' –

+0

' plot' ruft 'title' auf, was einen Titel ergibt (es ist nicht so, dass' title' 'main' heißt - das ist einfach unmöglich). das 'main'-Argument dient der Bequemlichkeit - Sie können ein einfaches Diagramm mit einem Titel in nur einer Zeile erstellen. auf die gleiche Weise können Sie Punkte, Linien, Achsen, Achsenbeschriftungen entweder von "plot" oder mit separaten fns machen – lebatsnok

Antwort

2

Sie sind identisch, außer dass title Ihnen erlaubt, einen Titel nach dem Erstellen des Plots hinzuzufügen, anstatt es atomar zu definieren. Verwenden Sie das, was am bequemsten ist. Wenn Sie viele Argumente innerhalb von plot angegeben haben, können Sie den Titel in einer separaten Zeile angeben, um beispielsweise Ihren Code lesbarer zu machen.

Um zu sehen, dass sie gleichwertig sind, betrachten Sie die Definition von plot.default() in Ihrer Konsole. Die letzte Zeile ist ein indirekter Aufruf title() wo main und sub durchlaufen werden:

> 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() 
} 
+0

Vielen Dank @Thomas - Änderungen sind willkommen. – Bazz

0

Titel ist nur eine von vielen verschiedenen Dingen, die Sie außerhalb der Grund plot Funktion optimieren können. Sie können beispielsweise axis, points, lines und legend verwenden, um alternative Achsen hinzuzufügen, mehr Punkte, Linien über ein Diagramm oder eine Legende/einen Schlüssel hinzuzufügen, um anzuzeigen, welche verschiedenen Kombinationen aus Farbe, Punkt und Linie gemeint sind.

Diese Merkmale ermöglichen eine gute Anpassbarkeit von Parzellen, was gut ist, da Parzellen dadurch klar und attraktiv aussehen können.