Diese Frage folgt auf meine über Hintergrundfarben in ggplot2.Wie kann ich zwei verschiedene scale_fill_manual aktiv in einem ggplot Befehl haben
Von den Antworten dort, ich bin jetzt in der Lage, geom_rect
zu verwenden, um meinem Diagramm einen Hintergrund zu geben, der fünf verschiedene Farben hat. Darüber hinaus möchte ich ein Balkendiagramm erstellen, das zwei verschiedene Farben verwendet. Ich kann jede dieser Aufgaben einzeln ausführen, aber wenn ich versuche, sie zu kombinieren, kollidieren die scale_fill_manual
Befehle.
Hier ist, was ich versuche:
scores = data.frame(category = 1:4, percentage = c(34,62,41,44), type = c("a","a","a","b"))
rects <- data.frame(ystart = c(0,25,45,65,85), yend = c(25,45,65,85,100), col = letters[1:5])
labels = c("ER", "OP", "PAE", "Overall")
medals = c("navy","goldenrod4","darkgrey","gold","cadetblue1")
ggplot() +
geom_rect(data = rects, aes(xmin = -Inf, xmax = Inf, ymin = ystart, ymax = yend, fill=col), alpha = 0.3) +
scale_fill_manual(values=medals) +
opts(legend.position="none") +
geom_bar(data=scores, aes(x=category, y=percentage, fill=type), stat="identity") +
#scale_fill_manual(values = c("indianred1", "indianred4")) +
scale_x_continuous(breaks = 1:4, labels = labels)
Wie geschrieben, das macht die beiden barchart Farben die gleichen wie die ersten beiden Hintergrundfarben. Entfernen der "" auf dem zweiten scale_fill_manual
Befehl (vorletzte Zeile) überschreibt die Hintergrundfarbe Befehle, um die Bars die Farben, die ich will, aber den Hintergrund nur die zwei Farben, die ich will in der barchart
.
Wie kann ich einen scale_fill_manual
Befehl an den geom_rect
Hintergrund aufbringt und die andere mit dem geom_bar
barchart (oder wie kann ich den gleichen Effekt mit anderen Mitteln erreichen)?
Brilliant! Vielen Dank. (Ich musste Medaillen an den Anfang der Werteliste in scale_fill_manual umschalten, damit alles wie dein Bild herauskommt, aber das hat funktioniert.) –