Изменение цвета гистограммы в geom bar с ggplot2 в r
У меня есть следующее, чтобы построить гистограмму фрейма данных.
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"))
в конечном итоге у меня есть только серые полосы:серые полосы для bar plot
Я хотел бы изменить цвет бара. Я уже пробовал разные scale_fill_manual отhttp://www.cookbook-r.com/Graphs/Colors_(ggplot2)/ но все еще есть серые полосы.
Спасибо за помощь.
1 ответов
если вы хотите, чтобы все бары получили один и тот же цвет (fill
), вы можете легко добавить его внутри geom_bar
.
ggplot(data=df, aes(x=c1+c2/2, y=c3)) +
geom_bar(stat="identity", width=c2, fill = "#FF6666")
добавить fill = the_name_of_your_var
внутри aes
изменение цвета в зависимости от переменной :
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)
использовать scale_fill_manual()
если вы хотите вручную менять цвета.
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"))