如何在R中绘制分组/分类数据的堆积区域图?

时间:2016-04-26 22:04:44

标签: r plot ggplot2 stacked-area-chart

我有一个在多个字段上分类的数据集。例如:

Time | CatA | CatB | CatC | Value
--------------------------------- 
1       A      X      P      4 
2       A      X      Q      6 
3       A      Y      R      3 
4       A      Y      P      7 
1       B      X      Q      8 
2       B      X      R      9 
3       B      Y      P      5 
1       A      X      Q      8 
2       A      X      R      2 
3       A      Y      P      6 
4       A      Y      Q      4 
5       A      Y      R      3

现在我想绘制一个堆积区域图,这样每次作为一个单位在X轴上我都有Y的相应数据作为类别的组合属性。例如:(A,X,P)将是一个图形堆栈,(A,X,Q)将是另一个,(B,X,P)是另一个,依此类推。

如何在R中绘制此图? (PS:我是R的新手)

1 个答案:

答案 0 :(得分:0)

您感兴趣的图表类型是什么? 您的数据:

df<-read.table(header = TRUE, text = "Time  CatA  CatB  CatC  Value
               1       A      X      P      4 
               2       A      X      Q      6 
               3       A      Y      R      3 
               4       A      Y      P      7 
               1       B      X      Q      8 
               2       B      X      R      9 
               3       B      Y      P      5 
               1       A      X      Q      8 
               2       A      X      R      2 
               3       A      Y      P      6 
               4       A      Y      Q      4 
               5       A      Y      R      3")

创建情节的代码:

library(ggplot2)
#combine all of the cat to a single label
df$cat<-paste(df$CatA, df$CatB, df$CatC)
ggplot(df, aes(x=cat, y=Value, fill=CatB)) + geom_bar(stat="identity") +
  scale_fill_manual(values=c("#669933", "#FFCC66")) +
  xlab("Cat: A,B and C")