Ordenar múltiples leyendas / guías (¿qué es la lógica automática y cómo cambiarla?)
Me topé con este extraño comportamiento con ggplot2s ordenando leyendas y simplemente no puedo entender cuál es la lógica detrás de la colocación automática de las leyendas:
Mi objetivo: en una trama con varias escalas, quiero organizarlas en un orden diferente (temático) que el automático. Pero no pude encontrar un comando en opts () o guías () para hacer esto por mí. Y para ser claros: no quiero cambiar los elementos dentro de las leyendas, eso funciona bien, pero la disposición de varias leyendas completas.
Así que primero asumí que estaban ordenados por tipo, es decir, escala, color, etc. Pero ese no es el caso, su posición cambia (ver más abajo).
¿Orden alfabetico? No.
<code> library(ggplot2) ## v0.9 ## Scale_colour on top qplot(data = mpg,x = displ, y = cty, size = hwy, colour = class) + scale_size(name = "A") + scale_colour_discrete(name = "B") ## Reverse names --> scale_colour on bottom qplot(data = mpg,x = displ, y = cty, size = hwy, colour = class) + scale_size(name = "B") + scale_colour_discrete(name = "A") ## Change name B to C --> scale_colour on bottom qplot(data = mpg,x = displ, y = cty, size = hwy, colour = class) + scale_size(name = "C") + scale_colour_discrete(name = "A") ## Change name B to D --> scale_colour on top qplot(data = mpg,x = displ, y = cty, size = hwy, colour = class) + scale_size(name = "D") + scale_colour_discrete(name = "A") </code>
Posiciones adicionales de scale_colour (por nombre de scale_size intercambiado)
"E": abajo"F" - "L": arriba"M" - "N": abajoy sigue apareciendo en la parte superior y en la parte inferior.
Orden factorial? No.
<code> ## From top to bottom: C - B - A fname <- factor(c("A","B","C"), levels = c("A","B","C")) qplot(data = mpg,x = displ, y = cty, size = hwy, colour = class, alpha = cyl) + scale_size(name = fname[1]) + scale_colour_discrete(name = fname[2]) + scale_alpha(name=fname[3]) ## From top to bottom: B - C - A fname <- factor(c("A","B","C"), levels = c("C","B","A")) qplot(data = mpg,x = displ, y = cty, size = hwy, colour = class, alpha = cyl) + scale_size(name = fname[1]) + scale_colour_discrete(name = fname[2]) + scale_alpha(name=fname[3]) ## From top to bottom: B - C - A fname <- factor(c("A","B","C"), levels = c("B","C","A")) qplot(data = mpg,x = displ, y = cty, size = hwy, colour = class, alpha = cyl)+ scale_size(name = fname[1]) + scale_colour_discrete(name = fname[2]) + scale_alpha(name=fname[3]) </code>
Longitud del título? No. Me detendré por ahora con el código de ejemplo, pero ese también produjo órdenes fluctuantes independientes de la longitud del carácter.
¿Algunas ideas?