Legende neu anordnen, ohne die Reihenfolge der Punkte auf der Zeichnung zu ändern

8

Ich laufe immer wieder auf dieses Problem in ggplot2, vielleicht kann mir jemand helfen.

Ich habe ein Diagramm, in dem die Reihenfolge der Variablen in der Legende umgekehrt ist, wie sie in der Grafik angezeigt werden.

Zum Beispiel:

%Vor%

erzeugt:

Also werden die Punkte in der Handlung als Cat2 = Z, Y, dann X (schwarze Rauten, blaues Dreieck, roter Kreis) angezeigt, aber in der Legende werden sie als Cat2 = X, Y, dann Z (roter Kreis, blaues Dreieck, schwarzer Diamant).

Wie kann ich die Reihenfolge der Legende umkehren, ohne die Punkte auf der Handlung zu verschieben? Das Umsortieren des Faktors führt zu dem umgekehrten Problem (die Punkte auf dem Diagramm sind umgekehrt).

Danke!

    
jslefche 26.09.2011, 14:05
quelle

2 Antworten

3

Um Hadleys Kommentar zu konkretisieren, würden wir so etwas tun:

%Vor%

Beachten Sie, dass wir die Pausen in beiden Skalen einstellen mussten. Wenn wir nur eins machen würden, würden sie nicht übereinstimmen, und ggplot würde sie in zwei Legenden aufteilen, anstatt sie zu verschmelzen.

    
joran 13.06.2013 16:26
quelle
0

Soweit ich verstehe, was Sie erreichen wollen, macht diese einfache Manipulation den Trick für mich:

  1. definieren eine Cat2 als Faktor (mit den Ebenen in der richtigen Reihenfolge) und
  2. Ändern Sie die Reihenfolge der Farben und Formen so, dass sie der Ebenenreihenfolge (in den skala_manual-Befehlen)
  3. entsprechen

Hier ist der Code, um es zu tun:

%Vor%     
Matthieu Dubois 26.09.2011 15:46
quelle

Tags und Links