Bei der Erstellung von mehrschichtigen Plots sollte das ggplot
Paket berücksichtigt werden. Die Idee ist, ein grafisches Objekt mit grundlegender Ästhetik zu erstellen und es schrittweise zu verbessern.
ggplot
Für den Stil müssen Daten gepackt werden data.frame
.
# Data generation
x <- seq(-2, 2, 0.05)
y1 <- pnorm(x)
y2 <- pnorm(x,1,1)
df <- data.frame(x,y1,y2)
Grundlösung:
require(ggplot2)
ggplot(df, aes(x)) + # basic graphical object
geom_line(aes(y=y1), colour="red") + # first layer
geom_line(aes(y=y2), colour="green") # second layer
Hier + operator
werden zusätzliche Ebenen zum Basisobjekt hinzugefügt.
Mit haben ggplot
Sie Zugriff auf grafische Objekte in jeder Phase des Zeichnens. Angenommen, die übliche schrittweise Einrichtung kann folgendermaßen aussehen:
g <- ggplot(df, aes(x))
g <- g + geom_line(aes(y=y1), colour="red")
g <- g + geom_line(aes(y=y2), colour="green")
g
g
Erzeugt das Diagramm und Sie können es in jeder Phase sehen (also nach dem Erstellen mindestens einer Ebene). Weitere Verzauberungen des Plots werden ebenfalls mit dem erstellten Objekt vorgenommen. Zum Beispiel können wir Beschriftungen für Achsen hinzufügen:
g <- g + ylab("Y") + xlab("X")
g
Das Finale g
sieht aus wie:
UPDATE (08.11.2013):
Wie in den Kommentaren erwähnt, ggplot
schlägt die Philosophie vor, Daten im Langformat zu verwenden. Sie können sich auf diese Antwort beziehen, um den entsprechenden Code anzuzeigen.
?curve
. Verwenden Sieadd=TRUE
.