-1

我有以下格式的数据:

revision    added    removed    changed    confirmed
1           20       0          0          0
2           18       3          8          10
3           12       8          14         10
4           6        5          11         8
5           0        1          7          11

每行代表一个文档的修订。第一列是修订号,其余列表示在相应修订中添加、删除、更改和确认(就绪)的元素。(实际上,有更多的行和列,这只是一个示例。)每个数字代表每个相应修订中记录的添加、删除、更改和确认的数量。

我需要的是一个看起来像这样的堆叠条形图:

示例堆叠条形图

我想在 ggplot2 中执行此操作。只要我以后可以调整它,确切的视觉外观(字体、颜色和图例的位置)并不重要。目前,这是我正在寻找的总体思路。

我查看了几个问题和答案,例如 ,我如何对已列出的数据进行条形图?, 为多个变量制作堆积条形图 - R中的 ggplot2 ,带有 3 个变量(连续 X 和 Y 以及第三个堆积变量)的条形图,以及 堆积条形图,但它们似乎都做出了与我的数据不匹配的假设。我也尝试过这样的事情:

ggplot(data) + geom_bar(aes(x=revision, y=added), stat="identity", fill="white", colour="black") + geom_bar(aes(x=revision, y=removed), stat="identity", fill="red", colour="black")

但显然这不会创建堆叠条形图,因为它只是将第二个绘制在第geom_bar一个之上。

如何使用 ggplot2 制作数据的堆积条形图?

4

1 回答 1

4

尝试:

library(reshape2)
dat <- melt(data, id="revision")

ggplot(dat, aes(x=revision, y=value, fill=variable)) +
  geom_bar(stat="identity")

在此处输入图像描述

于 2013-04-19T15:03:43.773 回答