ggplot2: geom_tile + stat_contour

5 views
Skip to first unread message

Andreu Vall

unread,
Mar 26, 2012, 5:15:35 AM3/26/12
to rug...@googlegroups.com
Hola a tots,

Us envio un dubte que tinc amb el ggplot2. Vull fer un mapa de calor amb corbes de nivell (geom_tile + stat_contour). Tinc dos preguntes, que ara resumeixo, i a més us enllaço aquest exemple.
  1. Necessitaria ordenar l'eix de les y de manera decreixent. stat_contour funciona bé quan totes les variables són numèriques, però llavors no tinc les y com jo voldria. Si faig servir factors per poder ordenar l'eix de les y no puc fer servir stat_contour. Potser sabeu una altra manera d'ordenar? O sabeu com fer un stat_contour amb factors?
  2. No queda gaire bé que amb geom_tile, els tiles queden centrats en les coordenades, no alineats amb les coordenades, i en canvi les corbes de nivell sí. Sabeu com tractar-ho? Algun consell?

Gràcies a tots!

Andreu Vall


***

També us passo la sortida de sessionInfo():

R version 2.14.2 (2012-02-29)
Platform: x86_64-pc-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=Spanish_Spain.1252  LC_CTYPE=Spanish_Spain.1252  
[3] LC_MONETARY=Spanish_Spain.1252 LC_NUMERIC=C                 
[5] LC_TIME=Spanish_Spain.1252   

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base    

other attached packages:
[1] ggplot2_0.9.0

loaded via a namespace (and not attached):
 [1] colorspace_1.1-1   dichromat_1.2-4    digest_0.5.1       grid_2.14.2      
 [5] MASS_7.3-17        memoise_0.1        munsell_0.3        plyr_1.7.1       
 [9] proto_0.3-9.2      RColorBrewer_1.0-5 reshape2_1.2.1     scales_0.2.0     
[13] stringr_0.6

Lluís Ramon

unread,
Mar 26, 2012, 10:15:56 AM3/26/12
to rug...@googlegroups.com

Hola Andreu,

Quin exemple reproduible més ben fet. Impresionant.

De les teves preguntes puc respondre la primera, cal que afegeixis:

?scale_y_reverse()

Amb això et sortirà la imatge adjunta: 

pA + geom_tile(aes(fill = z)) + stat_contour() + scale_y_reverse() 

Inline image 1

La segona pregunta no la he entes massa bé però potser perquè no utilitzo el contour habitualment. Si tinc una mica de temps li faré un cop d'ull però no crec que en tregui res de clar.

PS: Personalment no m'agrada el marge que et posa per defecte el ggplot2, si afegeixes les següents instruccions els treuràs:

pA + geom_tile(aes(fill = z)) + stat_contour() + scale_x_continuous(expand = c(0, 0)) +  scale_y_reverse(expand = c(0, 0))

Inline image 2

Atentament, 

Lluís Ramon
Rplot.png
Rplot01.png
Reply all
Reply to author
Forward
0 new messages