Angenommen, ich habe dieses Grundstück:in ggplot
library(ggplot2)
pl_data <- data.frame(x = rep(c(1, 2), times = 3), y = c(0, 1, 1, 0, .7, .7), col = rep(c("r", "b", "g"), each = 2))
ggplot(pl_data, aes(x = x, y = y, color = col)) +
geom_line(size = 3)
Wie kann ich das Plotten Reihenfolge zu ändern, so dass die rote Linie über die beiden anderen aufgetragen ?
Der Hintergrund ist daher, dass ich Plots mit sehr ähnlichen Zeilen habe und bestimmte Zeilen im Vordergrund sehen möchte.
Ich nehme etwas entlang der Linien von dieser Antwort order of stacked bars in ggplot funktionieren würde. Es macht die Farbspalte zu Faktoren und ändert ihre Reihenfolge, aber ich würde es vorziehen, dies direkt in einer Zeile des ggplot-Aufrufs zu ändern.
Ich habe auch versucht, die Legendenreihenfolge mit scale_color_discrete(breaks=c("r", "g", "b"))
), zu ändern, aber das wirkt sich auch nicht auf die Auftragreihenfolge aus.
Sie haben mir ein etwas verwirrt wegen der verschiedenen Farben in unseren Beispielen, aber funktioniert jetzt gut! Ich denke, ich muss Faktoren in meine ggplot-Routine einbauen. – Simon
Ah, sorry, nur rot 'r'' g' und 'b' und angenommen, dass dies passt zu den Farben. Will meine Antwort entsprechend bearbeiten. – thothal
Danke nochmal, funktioniert jetzt auch in meinem Anwendungsbeispiel. Um zu klären, was ich vorher durch meine erste Verwirrung bedeutete: Obwohl die Methode funktioniert, sieht es aus, als ob Sie haben würden verändert nur die Farben zwischen den roten und der blauen Linie, wie die gleiche Zeile oben ist in unseren beiden Parzellen. (Ich sollte einfach nicht meine Zeilen die Namen haben r gegeben, b, g, die mit ihren automatischen Farben stimmen nicht überein.) – Simon