Reihenfolge im Plot ändern (ggplot2)

Wie erstelle ich Grafiken, was ist zu beachten?

Moderatoren: EDi, jogo

Antworten
IWouldLike2Know
Beiträge: 7
Registriert: Do Mai 02, 2019 10:51 am

Reihenfolge im Plot ändern (ggplot2)

Beitrag von IWouldLike2Know »

Hallo zusammen,

ich habe ein Experiment durchgeführt, das Teil einer Versuchsreihe ist und habe nun alle Ergebnisse auf die gleiche Art dargestellt. Allerdings brauchte ich für dieses Experiment andere Legendenbezeichnungen, wodurch es mir in der Grafik die Reihenfolge (unlogisch) verzogen hat.
test.png
test.png (5.22 KiB) 850 mal betrachtet
Wie auf dem Bild erkennbar brauche ich nicht "high-low-medium" sondern die logischere "high-medium-low" Anordnung.
Gibt es eine Möglichkeit, wie ich das in R anstellen kann, ohne die Originaldaten zu verändern? Das sehe ich nämlich momentan als einzige Lösung (also die Spalten statt high, medium und low auf z.B. a, b und c ändern und erst am Ende manuell beschriften), wäre aber wesentlich mehr Arbeit, als eine zusätzliche Zeile in R!

Ich wäre dankbar für jeden Vorschlag!
Zuletzt geändert von IWouldLike2Know am Mo Jul 08, 2019 2:52 pm, insgesamt 1-mal geändert.
IWouldLike2Know
Beiträge: 7
Registriert: Do Mai 02, 2019 10:51 am

Re: Reihenfolge im Plot ändern (ggplot2)

Beitrag von IWouldLike2Know »

Athomas hat geschrieben: Mo Jul 08, 2019 2:21 pm https://stackoverflow.com/questions/237 ... -of-values
Danke für den Vorschlag, das funktioniert bei mir aber leider nicht (zumindest nicht mit meinem Anfänger-Können). Ich habe keine gleichbleibende Reihenfolge, es ist also nicht immer high-medium-low in den Rohdaten, sondern unterschiedlich. Ich weiß nicht, wie ich das auf die Art hinbekommen sollte :?:

edit: Ich habe es einfach nun so gemacht, wie ich es anfangs vermeiden wollte... Habe die Originaldaten verändert, dass sie a, b und c heißen, jetzt sind sie im Plot in der richtigen Reihenfolge und ich muss nur noch die Namen in der Legende ändern.
Trotzdem danke!
Hufeisen
Beiträge: 162
Registriert: Fr Aug 31, 2018 6:34 pm

Re: Reihenfolge im Plot ändern (ggplot2)

Beitrag von Hufeisen »

IWouldLike2Know hat geschrieben: Mo Jul 08, 2019 1:45 pmWie auf dem Bild erkennbar brauche ich nicht "high-low-medium" sondern die logischere "high-medium-low" Anordnung.
Vielleicht bin ich auch zu doof, aber auf dem Bild ist die Reihenfolge der Legendenbezeichnungen doch so, wie du sie brauchst?! Ansonsten bin ich in ggplot2 nicht fit genug, um ohne Beispieldaten eine funktionierende Lösung anzugeben. Aber es müsste so gehen: Ich nehme an, du plottest mit geom_point(). Wenn dort in der Funktion aes() auch der Parameter color spezifiziert ist (statt nur in geom_point()), kann man mit den Funktionen scale_color_discrete() oder scale_color_manual die Reihenfolge der Legendenbezeichnungen angeben. Das müsste so funktionieren:

Code: Alles auswählen

scale_color_manual(labels = c("high",  "medium", "low"), values = c("red", "blue", "black"))
Grüße
Hufeisen
Zuletzt geändert von Hufeisen am Mo Jul 08, 2019 3:30 pm, insgesamt 1-mal geändert.
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Reihenfolge im Plot ändern (ggplot2)

Beitrag von Athomas »

Danke für den Vorschlag, das funktioniert bei mir aber leider nicht (zumindest nicht mit meinem Anfänger-Können).
Wenn Du uns etwas Verwertbares an die Hand gibst, können wir mit unserem alte-Hasen-Können daran herumfeilen, bis es passt ...
IWouldLike2Know
Beiträge: 7
Registriert: Do Mai 02, 2019 10:51 am

Re: Reihenfolge im Plot ändern (ggplot2)

Beitrag von IWouldLike2Know »

Hufeisen hat geschrieben: Mo Jul 08, 2019 3:05 pm
IWouldLike2Know hat geschrieben: Mo Jul 08, 2019 1:45 pmWie auf dem Bild erkennbar brauche ich nicht "high-low-medium" sondern die logischere "high-medium-low" Anordnung.
Vielleicht bin ich auch zu doof, aber auf dem Bild ist die Reihenfolge der Legendenbezeichnungen doch so, wie du sie brauchst?! Ansonsten bin ich in ggplot2 nicht fit genug, um ohne Beispieldaten eine funktionierende Lösung anzugeben. Aber es müsste so gehen: Ich nehme an, du plottest mit geom_point(). Wenn dort in der Funktion aes() auch der Parameter color spezifiziert ist (statt nur in geom_point()), kann man mit den Funktionen scale_color_discrete() oder scale_color_manual die Reihenfolge der Legendenbezeichnungen angeben. Das müsste so funktionieren:

Code: Alles auswählen

scale_color_manual(labels = c("high",  "medium", "low"), values = c("red", "blue", "black"))
Grüße
Hufeisen
So habe ich das tatsächlich schon gemacht für die Legendenbezeichnung, deshalb stimmt es in der Legende, aber nicht im Plot selbst. Aber jetzt habe ich es einfach umständlich gemacht, also reicht mir das :lol:
Vielen Dank trotzdem
Hufeisen
Beiträge: 162
Registriert: Fr Aug 31, 2018 6:34 pm

Re: Reihenfolge im Plot ändern (ggplot2)

Beitrag von Hufeisen »

Okay, dann verstehe ich auch Deinen ersten Beitrag bezüglich der Legende. Aber ich verstehe immer noch nicht, was das eigentliche Problem ist / war. Ich habe eine Farbsehschwäche und kann in der Grafik ohnehin nicht viel erkennen, außer dass da Punkte und Striche in verschiedenen Farben drin sind. Vielleicht liegt es daran?! Zeige doch bitte deine funktionierende Lösung, falls jemand mit dem gleichen Problem dieses Thema aufsucht.
Antworten