使用ggplot绘制带有标签的不同颜色的条形图

时间:2015-10-14 23:55:12

标签: r ggplot2 bar-chart

我想绘制不同颜色的条形图。数据是时间序列数据,如下所示:

date          volume         label
2015-02-16    102              1 
2015-02-17    112              1 
2015-02-18    152              2 
2015-02-19    132              1 
2015-02-20    122              1 
2015-02-21    92               3

我想使用ggplot将此时间序列数据绘制为条形图。困难的部分是,

1)我想绘制黑色,标签= 1,红色标签= 2,蓝色标签= 3

2)我想在每个日常栏的顶部绘制标签“1”,“2”,“3”。

1 个答案:

答案 0 :(得分:4)

对于着色,您可以使用scale_fill_manual,对于可以使用text的标签(使用vjust参数调整标签在条形图上的显示位置)。

library(ggplot2)
ggplot(dat, aes(date, volume, fill=factor(label))) +
  geom_bar(stat='identity') +
  geom_text(aes(label=label), color="white", vjust=2) +
  scale_fill_manual(breaks=levels(dat$label), values=c('black', 'red', 'blue'))

enter image description here