如何将ggplot条形图的图例添加到每个条形的单独颜色

时间:2017-09-13 14:02:31

标签: r ggplot2

我是ggplot的新手,所以希望这是一个简单的问题。我用col:

给出了每个段的颜色堆叠条形图
a <- data.frame(var = rep(seq(1:2),2), val = seq(1:4))
col <- c('red', 'blue', 'green', 'red')

ggplot(a, aes(x = var, y = val)) +
    geom_bar(stat = 'identity', fill = col)

看起来像这样:

enter image description here

如何在情节中添加图例?我试过了

+ scale_fill_manual(name = 'legend', breaks = seq(1:4), values = col)

1 个答案:

答案 0 :(得分:1)

你很亲密!

fill = col移至aes

library(ggplot2)
a <- data.frame(var = rep(seq(1:2),2), val = seq(1:4))
col <- rainbow(n = 4)
ggplot(a, aes(x = var, y = val, fill = col)) +
    geom_bar(stat = 'identity') +
    scale_fill_manual(values = col)

您必须将其放在aes内,因为col是您要映射到特定审美的变量(在本例中为fill)。