web-dev-qa-db-fra.com

Changer la couleur du tracé dans geom_bar avec ggplot2 dans r

J'ai ce qui suit afin de tracer le cadre de données à barres.

c1 <- c(10, 20, 40)
c2 <- c(3, 5, 7)
c3 <- c(1, 1, 1)
df <- data.frame(c1, c2, c3)
ggplot(data=df, aes(x=c1+c2/2, y=c3)) +
  geom_bar(stat="identity", width=c2) +
  scale_fill_manual(values=c("#FF6666"))

Je finis par n'avoir que des barres grises: barres grises pour le graphique en barres

J'aimerais changer la couleur du bar. J'ai déjà essayé différents scale_fill_manual de http://www.cookbook-r.com/Graphs/Colors_ (ggplot2) / mais j'ai toujours des barres grises.

Merci de votre aide.

28
tuttifolies

Si vous voulez que toutes les barres aient la même couleur (fill), vous pouvez facilement l'ajouter à l'intérieur de geom_bar.

ggplot(data=df, aes(x=c1+c2/2, y=c3)) + 
geom_bar(stat="identity", width=c2, fill = "#FF6666")

enter image description here

Ajoutez fill = the_name_of_your_var dans aes pour modifier les couleurs en fonction de la variable:

c4 = c("A", "B", "C")
df = cbind(df, c4)
ggplot(data=df, aes(x=c1+c2/2, y=c3, fill = c4)) + 
geom_bar(stat="identity", width=c2)

enter image description here

Utilisez scale_fill_manual() si vous souhaitez modifier manuellement les couleurs.

ggplot(data=df, aes(x=c1+c2/2, y=c3, fill = c4)) + 
geom_bar(stat="identity", width=c2) + 
scale_fill_manual("legend", values = c("A" = "black", "B" = "orange", "C" = "blue"))

enter image description here

56
bVa