2012-08-23 15 views
15

Utilizzo di facet_wrap in ggplot2 per creare una griglia, ma ho un numero dispari di pannelli in modo che l'ultima riga sia incompleta. Nella parte inferiore dell'ultimo, il pannello vuoto è rappresentato dalle tacche e dal testo degli assi. È possibile spostare questo asse verso l'alto (dando l'ultima faccetta in ogni colonna l'aspetto di aver applicato free_x)? In caso contrario, posso rimuoverlo del tutto come si vede qui sotto?Rimuovere le etichette degli assi "fluttuanti" nel diagramma facet_wrap?

Per chiarire con esempi, questo è quello che sto ricevendo: http://sape.inf.usi.ch/sites/default/files/ggplot2-facet-wrap.png

enter image description here

ho desiderare qualcosa visto qui (anche se, idealmente con etichettatura asse sul sfaccettatura nella colonna 4): Changing facet label to math formula in ggplot2

enter image description here

Grazie per tutte le idee o intuizione!

+0

temo che non capisco cosa vuoi dire. Le due immagini sono simili a me, a parte le etichette degli assi. – Andrie

+2

Giusto. L'utente desidera modificare il posizionamento delle etichette degli assi nella 4a colonna (o rimuoverle). –

+5

@DWin Capito - mantieni le etichette degli assi nella quarta colonna, ma spostale verticalmente. Dubito che sarà possibile senza farlo manualmente in 'grid'. – Andrie

risposta

2

Utilizzando facet_wrap, quando faccio questo in 0.9.1, ggplot nasconde gli assi x sulle colonne con spazi vuoti, come mostrato di seguito.

movies$decade <- round(movies$year, -1) 
ggplot(movies) + geom_histogram(aes(x=rating)) + facet_wrap(~ decade, ncol=5) 

enter image description here

+1

Potrebbero esserci alcune differenze di versione qui: la domanda originale è vecchia di alcuni mesi. Con ggplot 0.9.2.1 e un esempio inventato (8 faccette in un array 3x3 avvolto), non ottengo il set extra di etichette degli assi, indipendentemente dal fatto che io specifichi il numero di colonne. Nel tuo esempio devo usare 'ncol = 5' per forzare una dimensione di array non uniforme (altrimenti ottengo un array 3x4), o eliminare gli 2000, ma se faccio il secondo ho ancora gli assi vuoti come appropriato. –

+0

Confermato, le specifiche manuali non contano. Sto riformulando la risposta. – Christian

Problemi correlati