2012-05-04 20 views
23

La seguente è una situazione:dimensioni diverse sfaccettature proporzionale asse x su ggplot 2 r

group1 <- seq(1, 10, 2) 
group2 <- seq(1, 20, 3) 
x = c(group1, group2) 
mydf <- data.frame (X =x , Y = rnorm (length (x),5,1), 
groups = c(rep(1, length (group1)), rep(2, length(group2)))) 

ggplot(mydf, aes(X, Y, group= groups)) + geom_point()+ facet_grid (.~ group) 

differenti faccette sono scalati limiti x nel grafico seguente:

ggplot(mydf, aes(X, Y, group= groups)) + geom_point()+ 
    facet_grid (.~ group, scales = "free_x") 

Come larghezza totale x ha un significato, voglio produrre sfaccettature di larghezza diversa non solo in scala diversa. Così l'atteso sfaccettatura 1 del wideth dovrebbe essere la metà delle dimensioni di 2.

enter image description here

+1

BTW, non ho potuto ottenere il tuo esempio per l'esecuzione. Ho suggerito modifiche editoriali ma sono state respinte. Nelle chiamate a 'facet.grid()', ho usato '. ~ gruppi al posto di '. ~ gruppo'. Inoltre, 'group = groups' nelle dichiarazioni estetiche non è necessario. –

risposta

33

Se ho capito bene, space = "free_x" fa ciò che si vuole.

library(ggplot2) 

ggplot(mydf, aes(X, Y)) + geom_point()+ 
facet_grid (.~ groups, scales = "free_x", space = "free_x") 

enter image description here

E se si vuole lo stesso stile di etichettatura sugli assi x:

ggplot(mydf, aes(X, Y)) + geom_point()+ 
scale_x_continuous(breaks = seq(0,20,2)) + 
facet_grid (.~ groups, scales = "free_x", space = "free_x") 

enter image description here

+1

'space' è supportato solo per' facet_grid'. Cosa fare per 'facet_wrap'? Qualche opzione? –

+0

Mi dispiace, ho cancellato il mio commento su 'space', perché ho scoperto che l'errore dell'argomento non riconosciuto era specifico di' facet_wrap'. –

+1

@PaulMcMurdie Per quanto ne so, 'facet-wrap' non ha mai supportato un argomento' space', ma molti comandi 'facet_wrap' possono essere lanciati come comandi' facet-grid'. Se hai una trama in cui ciò non è fattibile, potrebbe essere meglio fare una nuova domanda. –

Problemi correlati