2011-08-19 11 views
13

Creare i seguenti risultati trama nella legenda essere immessi verticalmente, sulla destra, piuttosto che sul fondo orizzontalmente come indicato nella chiamata a opts():Modifica legenda posizione/direzione utilizzando opta() non ha effetto

dat <- data.frame(x = runif(10), y = runif(10), 
        grp = rep(letters[1:2],each = 5)) 

ggplot(data = dat, aes(x = x, y = y, colour = grp)) + 
    geom_point() + 
    opts(legend.position = "bottom", legend.direction = "horizontal") + 
    theme_bw() 

enter image description here

Come si ottiene la legenda nel punto corretto?

risposta

20

Il problema è che theme_bw() viene inserito dopo la chiamata a opts() e reimposta alcuni valori predefiniti. Il posto giusto theme_bw() prima opts():

ggplot(data = dat, aes(x = x, y = y, colour = grp)) + 
    geom_point() + 
    theme_bw() + 
    opts(legend.position = "bottom", legend.direction = "horizontal") 

Nota: A partire dalla versione 0.9.2 è stato optsreplaced da theme:

theme(legend.position = "bottom", legend.direction = "horizontal") 

enter image description here

+1

+1 subdolo ...... –

Problemi correlati