estoy tratando de hacer una heatmap
usando ggplot2
usando la función geom_tiles
aquí está mi código de abajo:¿Cómo ordena específicamente ggplot2 eje x en lugar de orden alfabético?
p<-ggplot(data,aes(Treatment,organisms))+geom_tile(aes(fill=S))+
scale_fill_gradient(low = "black",high = "red") +
scale_x_discrete(expand = c(0, 0)) +
scale_y_discrete(expand = c(0, 0)) +
theme(legend.position = "right",
axis.ticks = element_blank(),
axis.text.x = element_text(size = base_size, angle = 90, hjust = 0, colour = "black"),
axis.text.y = element_text(size = base_size, hjust = 1, colour = "black")).
de datos es mi archivo data.csv
mi eje X es tipos de tratamiento
Mi Y eje es tipos de organismos
No estoy muy familiarizado con los comandos y la programación y soy relativamente nuevo en esto. Solo quiero poder especificar el orden de las etiquetas en el eje x. En este caso, estoy tratando de especificar el orden de "Tratamiento". Por defecto, ordena alfabéticamente. ¿Cómo anulo esto/guardo los datos en el mismo orden que en mi archivo csv original?
He intentado este comando
scale_x_discrete(limits=c("Y","X","Z"))
donde x, y y z son mi pedido condición de tratamiento. Sin embargo, no funciona muy bien y me da cajas de calor faltantes.
OMG! ¡Entiendo! Muchas gracias, esto era exactamente lo que necesitaba! :) Usted acaba de hacer mi día. –
Tengo que preguntarme por qué esto es necesario. ¿Por qué los ejes se reordenan por ggplot en primer lugar? Parece peligroso si alguien no sabe que esto va a suceder. –
Acabo de toparme con este problema haciendo un [heatmap con qplot] (http://martinsbioblogg.wordpress.com/2013/03/21/using-r-correlation-heatmap-with-ggplot2/) y se aplicaron nombres de variables automáticamente . ¿Debería ser reportado? –