Ao construir plotagens multicamadas, deve-se considerar o ggplot
pacote. A idéia é criar um objeto gráfico com estética básica e aprimorá-lo gradualmente.
ggplot
estilo requer que os dados sejam compactados data.frame
.
# Data generation
x <- seq(-2, 2, 0.05)
y1 <- pnorm(x)
y2 <- pnorm(x,1,1)
df <- data.frame(x,y1,y2)
Solução básica:
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
Aqui + operator
é usado para adicionar camadas extras ao objeto básico.
Com ggplot
você tem acesso ao objeto gráfico em todas as etapas da plotagem. Digamos, a configuração passo a passo usual pode ser assim:
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
produz o gráfico e você pode vê-lo em todas as etapas (bem, após a criação de pelo menos uma camada). Encantamentos adicionais da trama também são feitos com o objeto criado. Por exemplo, podemos adicionar rótulos para eixos:
g <- g + ylab("Y") + xlab("X")
g
Final se g
parece com:
ATUALIZAÇÃO (08-11-2013):
Como apontado nos comentários, ggplot
a filosofia de sugerir o uso de dados em formato longo. Você pode consultar esta resposta para ver o código correspondente.
?curve
. Useadd=TRUE
.