Cuando uso geom_tile()
con ggplot2
y discretos escalas las etiquetas están en orden ascendente en el eje x y en orden descendente en el eje y:ggplot2: orden de cambio de visualización de una variable de factor en un eje
#some sample data
a <- runif(400)
a <- matrix(a, ncol=20)
colnames(a) <- letters[seq(from = 1, to = 20)]
rownames(a) <- letters[seq(from = 1, to = 20)]
a <- melt(a)
Cuando trazar la trama de datos a
esto sale:
ggplot(a, aes(X1, X2, fill = value)) + geom_tile() +
scale_fill_gradient(low = "white", high = "black", breaks=seq(from=0, to=1, by=.1), name="value") +
opts(axis.text.x=theme_text(angle=-90, hjust=0)) +
scale_x_discrete(name="") + scale_y_discrete(name="")
y las coordenadas están etiquetados de forma diferente para x e y:
Me gustaría tener las etiquetas clasificadas de a-z de arriba a abajo y de izquierda a derecha. ¿hay una manera rápida de hacer esto?
Es posible que también desee agregar un 'limits = c (0, 1)' a su comando 'scale_colour_gradient' actual - actualmente 1 está fuera de los límites de la escala y no está coloreado correctamente en la leyenda. – hadley
@hadley: ¡muchas gracias! que probablemente habría sido mi segunda pregunta;) – Seb
¿Cómo no ordenar las etiquetas y en absoluto? Si tengo meses, por ejemplo, J, F, M, A, M. Se ordena de forma automática. ¿Es posible anular este comportamiento predeterminado? Gracias – rmf