R中条形图中的着色图例

时间:2017-09-29 14:15:22

标签: r ggplot2 bar-chart

我对R很新,并且在操作我的图表方面需要一些帮助。我试图比较实际数据和预测数字,但无法正确识别传说。数据如下所示:

hierarchy    Actual  Forecast
     <fctr>     <dbl>     <dbl>
1         E      9313      5455
2         K      6257      3632
3         O      7183      8684
4         A      1579      6418
5         S      8755      0149
6         D      5897      7812
7         F      1400      8810
8         G      4960      5710
9         R      3032      0412

代码如下:

ggplot(sam4, aes(hierarchy))+ theme_bw()  + 
  geom_bar(aes(y = Actual, colour="Actual"),fill="#66FF33", stat="identity",position="dodge", width=0.40) +
  geom_bar(aes(y = Forecast, colour="Forecast"), fill="#FF3300", stat="identity",position="dodge", width=0.2)

图表最终看起来像这样:

enter image description here

1 个答案:

答案 0 :(得分:1)

我相信您的问题是您的数据格式不正确以使用ggplot。您希望首先整理数据框。查看http://tidyr.tidyverse.org/以熟悉整洁数据的概念。

使用tidyverse(ggplot是其中的一部分),我整理了你的数据,我相信你得到了你想要的情节。

library(tidyverse) #includes ggplot
newdata <- gather(sam4, actualorforecast, value, -hierarchy)
ggplot(newdata, aes(x = hierarchy)) +
    theme_bw() +
    geom_bar(aes(y = value, fill = actualorforecast), 
             stat = "identity", 
             width = ifelse(newdata$actualorforecast == "Actual", .4, .2),
             position = "dodge") +
    scale_fill_manual(values= c(Actual ="#66FF33", Forecast="#FF3300"))

enter image description here