使用 r 中的 ggplot2 更改 geom_bar 中的条形图颜色

Change bar plot colour in geom_bar with ggplot2 in 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"))

我最后只有灰色条:Grey bars for bar plot

我想更改栏的颜色。 我已经尝试过不同的 scale_fill_manual 和 http://www.cookbook-r.com/Graphs/Colors_(ggplot2)/ 但仍然有灰色条。

感谢您的帮助。

如果您希望所有条形都获得相同的颜色 (fill),您可以轻松地将其添加到 geom_bar 中。

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

aes 内添加 fill = the_name_of_your_var 以根据变量更改颜色:

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"))