2011-08-19 15 views
13

Tworzenie następujące wyniki wydruku w legendzie jest umieszczony pionowo, po prawej stronie, a nie na dolnej poziomej, jak wskazano w wywołaniu opts():Zmiana legendy pozycji/kierunek za pomocą OPT() nie ma wpływu

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

Jak uzyskać legendę we właściwym miejscu?

Odpowiedz

20

Problem polega na tym, że theme_bw() zostaje umieszczony po połączeniu z numerem opts() i resetuje niektóre ustawienia domyślne. Wystarczy umieścić theme_bw() przed opts():

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

Uwaga: Od wersji 0.9.2 opts została replaced przez theme:

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

enter image description here

+1

+1 podstępne ...... –

Powiązane problemy