r - labs - legend text in ggplot2
¿Cómo combinar 2 parcelas(ggplot) en una sola parcela? (3)
Crear una sola trama combinada con su configuración de datos actual sería algo como esto
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)
sin embargo, si puede combinar los conjuntos de datos antes de trazar, entonces ggplot automáticamente le dará una leyenda y, en general, el código se ve un poco más limpio
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)
Al usar R, ¿es posible colocar 2 ggplot juntos (es decir, en la misma parcela)? Deseo mostrar una tendencia a partir de 2 marcos de datos diferentes y en lugar de ponerlos uno junto al otro, me gustaría integrarlos juntos en una sola gráfica y solo cambiar el color de uno de ellos (el punto negro).
Para ser más específico, tengo los siguientes 2 gráficos:
ggplot(visual1, aes(ISSUE_DATE,COUNTED)) + geom_point() + geom_smooth(fill="blue", colour="darkblue", size=1)
y
ggplot(visual2, aes(ISSUE_DATE,COUNTED)) + geom_point() + geom_smooth(fill="red", colour="red", size=1)
Se ven así (ambos tienen puntos negros y tendré que cambiar uno de ellos a algo diferente):
y
Datos ficticios (debe proporcionar esto para nosotros)
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
Ahora haz:
ggplot(visuals, aes(ISSUE_DATE,COUNTED,group=vis,col=vis)) +
geom_point() + geom_smooth()
y ajusta los colores, etc. al gusto.
Solo combínalos. Creo que esto debería funcionar pero no se ha probado:
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)