ggplot: come aumentare la spaziatura tra i grafici sfaccettati?


113

Ho diversi istogrammi sfaccettati (ottenuti con il comando sotto) che sono ben tracciati uno sotto l'altro. Vorrei aumentare la distanza tra di loro, tuttavia sono strette.

Ho guardato il documento ma non ho trovato un parametro per questo.

qplot (Happiness.Level, Number.of.Answers, data=mydata, geom="histogram") + facet_grid (Location ~ .) 

Un commento a margine che ho trovato un altro modo per affrontare questo (ho usato un face_wrap invece di facet_grid e il grafico risultante è più bello). Sono ancora interessato se esiste un modo per rispondere alla domanda originale.
wishihadabettername

2
Prova theme_get () per una serie di opzioni nascoste che puoi modificare con opts ()
Brandon Bertelsen,

Risposte:


168

Usa la funzione tema :

library(grid)

p + theme(panel.spacing = unit(2, "lines"))

Vedi anche qui: Slicing plots generati da ggplot2



8
A causa di un altro aggiornamento, l'incantesimo è oratheme(panel.margin = unit(2, "lines"))
David J. Harris,

11
Aggiornamento - è oratheme(panel.spacing = unit(1, "lines"))
Mr.ecos

Funziona senza il gridpacchetto. Nella mia esperienza le etichette x di due grafici affiancati spesso si sovrappongono (l'etichetta più grande a sinistra e l'etichetta più piccola a destra). Una soluzione per correggere l'output è ggsavecon una larghezza maggiore di quella predefinita. Ma trovo theme(panel.spacing = unit(1, "lines"))più carino perché funziona anche per la finestra di trama a comparsa.
PatrickT
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.