2011-11-08 23 views
5

Tengo curiosidad si es posible cambiar el diseño de la leyenda ggplot sin tener que volver a escribir la función build_legend?Cambiar el diseño de la leyenda ggplot

Por ejemplo:

Quiero un diseño de 2 * 2

a b
c d

en lugar de la normal de 1 * 4 o 4 * 1 diseño.

un b c d

o

un

b c d

Muchas gracias,

MK

+1

Por favor, no haga una publicación cruzada - le cuesta a la gente responder preguntas que ya podrían haber sido respondidas en otro lugar. – hadley

+0

Gracias Hadley, pensé que solo estaba restringido entre las listas de correo. – MKao

+0

Iba a responder mi propia pregunta (con la solución y los créditos de Kohske) para que otras personas que no están en la lista de correo puedan verla, pero hubo una restricción de tiempo para poder responder mi pregunta y no poder publicarla. eso. – MKao

Respuesta

3

No creo que esto en realidad es posible con ggplot2, realmente solo tiene dos opciones: horizontal o vertical. Si quieres crear algo más elegante, tendrás que hacerlo tú mismo creando una subtrama con el mismo esquema de color, redimensionándola y superponiéndola a tu trama (imaginaba algo así como una pequeña facet_grid() colocada donde sea apropiado)

... + opts(legend.direction="horizontal") 
... + opts(legend.direction="vertical") 
0

Kohske ha publicado la solución al problema, aunque no estará disponible hasta la próxima versión de ggplot.

qplot(1:4, 1:4, colour = letters[1:4]) + guides(colour = guide_legend(nrow = 2, byrow = T)) 
+0

Enlace a la respuesta de Kohske a su misma pregunta en la lista de ggplot2: http://groups.google.com/group/ggplot2/msg/4a8b39ff690eaf48 –

+0

Gracias competente_tech y Brian por la edición y los enlaces. Haré todo lo posible para mantener mis códigos y formato en el estándar. Aclamaciones, – MKao

Cuestiones relacionadas