R中的堆积条形图

时间:2017-01-10 09:59:35

标签: r stacked

enter image description here

您好!

我有一张类似的表:

A    B    
1   55
1   43
2   55
1   89
3   55
4   43
4   55

我想在每列中计算每个分类值的频率,并将其绘制成如图所示。

我该怎么做?

提前谢谢

2 个答案:

答案 0 :(得分:0)

我建议ggplot2来获取你的情节。

查看此How to Make a Stacked Bar Chart in R Using ggplot2

阅读ggplot文档并尝试一下。

顺便说一下,阅读how to ask对您有好处。

希望这有帮助。

答案 1 :(得分:0)

我不能完全了解你的表格如何生成你提供的图表,因为两列的值相等,而且图表有9对6的值。

使用R base你可以尝试:

df <- data.frame( A = c(1,1,2,1,3,4,4),
            B = c(55,43,44,89,55,43,55))

df2 <- data.frame(cat = rep(c("A","B"),each=nrow(df)), val = c(df$A,df$B))

barplot(as.matrix(table(df2$val,df2$cat)))

您需要对数据进行一些额外的工作才能使A和B之间的颜色相似。由于A和B具有不同类型的值,因此绘图现在有6种不同的颜色。