Usando R, é possível colocar 2 ggplot juntos (isto é, no mesmo enredo)? Eu gostaria de mostrar uma tendência a partir de dois frameworks de dados diferentes e, em vez de colocá-los um ao lado do outro, gostaria de integrá-los em um único enredo e apenas mudar a cor de um deles (o ponto preto).
Para ser mais específico, tenho os seguintes 2 visuais:
ggplot(visual1, aes(ISSUE_DATE,COUNTED)) + geom_point() + geom_smooth(fill="blue", colour="darkblue", size=1)
e
ggplot(visual2, aes(ISSUE_DATE,COUNTED)) + geom_point() + geom_smooth(fill="red", colour="red", size=1)
Eles se parecem com isso (ambos têm pontos pretos e eu preciso mudar um deles para algo diferente):
e
Criar uma única plotagem combinada com sua configuração de dados atual seria algo como isto
p <- ggplot() + # blue plot geom_point(data=visual1, aes(x=ISSUE_DATE, y=COUNTED)) + geom_smooth(data=visual1, aes(x=ISSUE_DATE, y=COUNTED), fill="blue", colour="darkblue", size=1) + # red plot geom_point(data=visual2, aes(x=ISSUE_DATE, y=COUNTED)) + geom_smooth(data=visual2, aes(x=ISSUE_DATE, y=COUNTED), fill="red", colour="red", size=1)
no entanto, se você pudesse combinar os conjuntos de dados antes de plotar, então o ggplot lhe dará automaticamente uma legenda e, em geral, o código parecerá um pouco mais limpo
visual1$group <- 1 visual2$group <- 2 visual12 <- rbind(visual1, visual2) p <- ggplot(visual12, aes(x=ISSUE_DATE, y=COUNTED, group=group, col=group, fill=group)) + geom_point() + geom_smooth(size=1)
Dados fictícios (você deve fornecer isso para nós)
visual1 = data.frame(ISSUE_DATE=runif(100,2006,2008),COUNTED=runif(100,0,50)) visual2 = data.frame(ISSUE_DATE=runif(100,2006,2008),COUNTED=runif(100,0,50))
combinar:
visuals = rbind(visual1,visual2) visuals$vis=c(rep("visual1",100),rep("visual2",100)) # 100 points of each flavour
Agora faça:
ggplot(visuals, aes(ISSUE_DATE,COUNTED,group=vis,col=vis)) + geom_point() + geom_smooth()
e ajustar colors etc a gosto.
Apenas combine-os. Eu acho que isso deve funcionar, mas não foi testado:
p <- ggplot(visual1, aes(ISSUE_DATE,COUNTED)) + geom_point() + geom_smooth(fill="blue", colour="darkblue", size=1) p <- p + geom_point(data=visual2, aes(ISSUE_DATE,COUNTED)) + geom_smooth(data=visual2, fill="red", colour="red", size=1) print(p)