Zamawianie wielu legend / przewodników (jaka jest automatyczna logika i jak ją zmienić?)

Natknąłem się na to dziwne zachowanie z porządkowaniem legend przez ggplot2 i nie mogę pojąć, jaka logika kryje się za automatycznym umieszczaniem legend:

Mój cel: na działce z wieloma skalami chcę uporządkować je w innym (tematycznym) porządku niż automatyczny. Ale nie mogłem znaleźć polecenia w opts () lub przewodnikach (), aby to zrobić dla mnie. Dla jasności: nie chcę zmieniać pozycji w legendach, to działa dobrze, ale układ wielu pełnych legend.

Więc najpierw założyłem, że są uporządkowane według typu, tj. Skali, koloru itd. Ale tak nie jest, ich pozycja zmienia się (patrz poniżej).

Kolejność alfabetyczna? Nie.

<code>    library(ggplot2) ## v0.9

    ## Scale_colour on top
    qplot(data = mpg,x = displ, y = cty, size = hwy, colour = class) +
    scale_size(name = "A") + scale_colour_discrete(name = "B")

    ## Reverse names --> scale_colour on bottom
    qplot(data = mpg,x = displ, y = cty, size = hwy, colour = class) +
    scale_size(name = "B") + scale_colour_discrete(name = "A")

    ## Change name B to C -->  scale_colour on bottom
    qplot(data = mpg,x = displ, y = cty, size = hwy, colour = class) +
    scale_size(name = "C") + scale_colour_discrete(name = "A")

    ## Change name B to D -->  scale_colour on top
    qplot(data = mpg,x = displ, y = cty, size = hwy, colour = class) +
    scale_size(name = "D") + scale_colour_discrete(name = "A")
</code>

Dalsze pozycje koloru skali (dla wymienionej nazwy scale_size)

„E”: dół„F” - „L”: góra„M” - „N”: dół

i nadal pojawia się na górze i na dole.

Porządek faktorski? Nie.

<code>    ## From top to bottom: C - B - A
    fname <- factor(c("A","B","C"), levels = c("A","B","C"))
    qplot(data = mpg,x = displ, y = cty, size = hwy, colour = class, alpha = cyl) +
    scale_size(name = fname[1]) + scale_colour_discrete(name = fname[2]) + scale_alpha(name=fname[3])

    ## From top to bottom: B - C - A
    fname <- factor(c("A","B","C"), levels = c("C","B","A"))
    qplot(data = mpg,x = displ, y = cty, size = hwy, colour = class, alpha = cyl) +
    scale_size(name = fname[1]) + scale_colour_discrete(name = fname[2]) + scale_alpha(name=fname[3])

    ## From top to bottom: B - C - A
    fname <- factor(c("A","B","C"), levels = c("B","C","A"))
    qplot(data = mpg,x = displ, y = cty, size = hwy, colour = class, alpha = cyl)+
    scale_size(name = fname[1]) + scale_colour_discrete(name = fname[2]) + scale_alpha(name=fname[3])
</code>

Długość tytułu? Nie. Zatrzymam się na przykład z kodem przykładowym, ale ten również przyniósł zmienne zlecenia niezależnie od długości znaków.

Jakieś pomysły?

questionAnswers(1)

yourAnswerToTheQuestion