2012-02-01 27 views
12

Añadiendo un eje y secundario, escalado a uno del eje y original. Este tema no es nuevo Se ha tocado veces, por ejemplo on this ggplot2 google groups thread. Siguiendo el consejo de Hadley, traté de agregar el eje y secundario por geom_vline, geom_segment y geom_text. Pero, todavía es feo.agrega un eje y secundario a ggplot2 gráficas - hazlo perfecto

Así que le pediría su ayuda para que sea perfecto. Creo que muchos usuarios de ggplot2 estarían interesados ​​en este tema y preferirían cualquier experiencia o contribución. Gracias por adelantado.

######################################### 
# what I have gotten. 
library(ggplot2) 

# build up a box plot 
p <- ggplot(mtcars, aes(factor(cyl), mpg)) 

# add the secondary y axis on right side of the plot 
p + geom_boxplot() + geom_vline(xintercept = 3.5) + 
geom_segment(aes(x=3.49, y=c(7,14,21,28), xend = 3.52, yend = c(7,14,21,28))) + 
geom_text(aes(x=3.55, y=c(7,14,21,28), label=c(7,14,21,28))) 
+0

general, no es recomendable utilizar secodary eje y ... – jrara

+1

En este momento lo que quiero es, de hecho, no es un eje y secundario, que es sólo una etiqueta. Esta etiqueta es necesaria, a veces. –

+0

Es posible que desee editar su pregunta para reflejar el hecho de que desea una etiqueta adicional. Acabo de hacer una pregunta similar, pero específica para el contexto de facetas: http://stackoverflow.com/questions/11353287/how-do-you-add-a-general-label-to-facets-in-ggplot2 –

Respuesta

2

Para evitar la piratería, es posible utilizar facet_grid lugar. Según sus datos, puede personalizarlo bastante bien para convertirlo en un eje secundario más general.

library(ggplot2) 
ggplot(mtcars, aes(factor(cyl), mpg)) + 
    geom_boxplot() + 
    facet_grid(cyl ~., scales = "free") 

enter image description here

+1

Muchas gracias, querido Geek On Acid. Esa es una opción. Pero, no es lo que quiero. En mi caso real, tengo más de 50 niveles de eje x. Es muy difícil para nuestros ojos ver una trama con> 50 facetas. –

Cuestiones relacionadas