ggplot legends – cambiar tags, orden y título

Estoy luchando mucho para modificar la leyenda en mi argumento. Aquí hay un ejemplo reproducible:

dtt <- structure(list(model = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L), .Label = c("ma", "mb", "mc"), class = "factor"), year = c(2005L, 2006L, 2007L, 2008L, 2009L, 2010L, 2005L, 2006L, 2007L, 2008L, 2009L, 2010L, 2005L, 2006L, 2007L, 2008L, 2009L, 2010L), V = c(0.16, 0.14, 0.11, 0.13, 0.15, 0.16, 0.24, 0.17, 0.12, 0.13, 0.15, 0.15, 0.2, 0.16, 0.11, 0.12, 0.12, 0.15), lower = c(0.11, 0.11, 0.07, 0.09, 0.11, 0.12, 0.16, 0.12, 0.04, 0.09, 0.09, 0.11, 0.14, 0.1, 0.07, 0.08, 0.05, 0.1), upper = c(0.21, 0.19, 0.17, 0.17, 0.19, 0.2, 0.29, 0.23, 0.16, 0.17, 0.16, 0.2, 0.26, 0.27, 0.15, 0.16, 0.15, 0.19)), .Names = c("model", "year", "V", "lower", "upper"), class = "data.frame", row.names = c(NA, -18L)) 

Mi ttwig se genera así:

 ggplot(dtt, aes(x=year, y=V, group = model, colour = model, ymin = lower, ymax = upper)) + geom_ribbon(alpha = 0.35, linetype=0)+ geom_line(aes(linetype=model), size = 1.5) + geom_point(aes(shape=model), fill = "white", size = 4) + theme(legend.position=c(.6,0.8)) + theme(legend.background = element_rect(colour = 'black', fill = 'grey90', size = 1, linetype='solid')) 

que produce esto: enter image description here

Ahora, lo que me gustaría hacer es

  1. cambiar el título de la leyenda
  2. cambiar el orden en que aparecen los elementos de la leyenda
  3. cambiar el texto de los elementos de la leyenda.

He jugueteado durante horas tratando de hacer esto, pero sin mucho éxito. Lo mejor que he logrado hasta ahora es agregar esto:

 scale_colour_hue(name = "Model 1", breaks=c("mb", "ma", "mc"), labels=c("MBB", "MAA", "MCC")) 

Pero produce esta abominación: enter image description here

Como puede ver, ahora hay una leyenda extra innecesaria, y las formas en la leyenda no coinciden con las de la ttwig.

Finalmente, me gustaría que los gráficos en la leyenda indiquen que las líneas azul y verde están discontinuas, no son sólidas, pero no tengo ni idea de cómo hacerlo.

Cualquier ayuda sería muy apreciada,

Tienes que hacer dos cosas:

  1. Cambiar el nombre y reordenar los niveles de factor antes de la ttwig
  2. Cambia el nombre del título de cada leyenda al mismo título

El código:

 dtt$model < - factor(dtt$model, levels=c("mb", "ma", "mc"), labels=c("MBB", "MAA", "MCC")) library(ggplot2) ggplot(dtt, aes(x=year, y=V, group = model, colour = model, ymin = lower, ymax = upper)) + geom_ribbon(alpha = 0.35, linetype=0)+ geom_line(aes(linetype=model), size = 1) + geom_point(aes(shape=model), size=4) + theme(legend.position=c(.6,0.8)) + theme(legend.background = element_rect(colour = 'black', fill = 'grey90', size = 1, linetype='solid')) + scale_linetype_discrete("Model 1") + scale_shape_discrete("Model 1") + scale_colour_discrete("Model 1") 

enter image description here

Sin embargo, creo que esto es realmente feo y difícil de interpretar. Es mucho mejor usar facetas:

 ggplot(dtt, aes(x=year, y=V, group = model, colour = model, ymin = lower, ymax = upper)) + geom_ribbon(alpha=0.2, colour=NA)+ geom_line() + geom_point() + facet_wrap(~model) 

enter image description here