ändern Sie die Farbe von nur einem bar in ggplot

Ich möchte die Farbe nur eine bar in ggplot. Das ist mein Daten-frame:

area <- c("Północ", "Południe", "Wschód", "Zachód")
sale <- c(16.5, 13.5, 14, 13)
df.sale <- data.frame(area, sale)
colnames(df.sale) <- c("Obszar sprzedaży", "Liczba sprzedanych produktów (w tys.)")

Und code für die Auswertung:

plot.sale.bad <- ggplot(data=df.sale, aes(x=area, y=sale, fill=area)) +
  geom_bar(stat="identity") +
  scale_fill_manual(values=c("black", "red", "black", "black")) +
  xlab(colnames(df.sale)[1]) +
  ylab(colnames(df.sale)[2]) +
  ggtitle("Porównanie sprzedaży") 

Möchte ich nur eine bar farbige und 3 andere haben Standard-Farbe (dunkelgrau, nicht schwarz, es sieht schlecht aus für mich). Wie kann ich die Farbe ändern, nur auf der bar, oder wie man den Namen des Standard-Farbe von Balken zu setzen, statt schwarz?

Wenn Sie nicht wollen, um anzeigen fill auf 'Bereich', warum verwenden Sie es in Ihrem aes? Könnte es besser sein, eine variable hinzufügen, um Ihre Daten-frame, spiegelt die Bedingungen, die Sie möchten anzeigen zu fill. Aber Sie brauchen, um zu beschreiben, Ihre Ziele klar werden.
Ich möchte zu unterscheiden, die zweite bar form, andere Farbe und andere bars haben sollte Standard, unveränderte Farbe. Das ist es, was ich will.
Für das Beispiel haben Sie zur Verfügung gestellt, scale_fill_manual ist vor Ort auf. Wenn Sie wollen, es zu tun mehr "programmgesteuert" dann müssen Sie einige Kennzeichen (Berechnung cut Bereich, etc), die es möglich machen würde, zu bestimmen, welche bar(s) sollten in einer anderen Farbe. Für Ihr Beispiel, was die Bedingung angegeben, dass Południe sollte rot sein?

InformationsquelleAutor jjankowiak | 2014-04-06

Schreibe einen Kommentar