ggplot分组条形图

时间:2015-03-06 23:13:32

标签: r ggplot2

我有以下数据集:

  Year Generated Rejected
1 2012 133118208  7256986
2 2013 289487598 49652610
3 2014 192232775 31765480
4 2015  40434968  2513930

我正在尝试生成一个分组的条形图,它在x轴上有Year,在y轴上有一个数字刻度,表示每年拒绝生成的Vs。

我很困惑我应该将y轴设置为什么?我还没有尝试使用spread()函数,因为我希望可能有更简单的方法

1 个答案:

答案 0 :(得分:2)

首先,您必须以适当的格式排列数据以进行绘图:

library(reshape2)
df1 <- melt(df, id = "Year")

或者你可以使用tidyr包:

library(tidyr)
df1 <- gather(df, variable, value, -Year)

如果您不熟悉melt()

,可能更容易理解

基本上,它说:&#34;收集df中除Year之外的所有变量,调用新的键列variable和新的值列{{1 }}&#34;

value

enter image description here

如果您希望使用逗号分隔数千来格式化数字:

library(ggplot2)
ggplot(df1, aes(Year, value)) +   
  geom_bar(aes(fill = variable), position = "dodge", stat = "identity")

enter image description here