带有ggplot2的带凹槽的条形图和x轴上的两个变量

时间:2015-05-22 22:35:06

标签: r ggplot2

从这个数据

library(ggplot2)
library(reshape2)    
test <- structure(list(Name = structure(c(3L, 1L, 2L), .Label = c("Bob", 
    "Marc", "Tim"), class = "factor"), Group = structure(1:3, .Label = c("A", 
    "B", "C"), class = "factor"), X2012 = 11:13, X2013 = c(14L, 15L, 
    15L), X2014 = c(12L, 14L, 13L)), .Names = c("Name", "Group", 
    "X2012", "X2013", "X2014"), class = "data.frame", row.names = c(NA, 
    -3L))
test.melt <- melt(test)
names(test.melt) <- c("Name", "Group", "Year", "Mean")

我想创建一个条形图,它将“Name”列中的三个因子级别作为主x轴变量。三个级别(Bob,Marc,Tim)中的每一个都应该有三个躲避栏(“年”级别),并且应该用“组”着色。在y轴上绘制的应该是“平均值”中给出的值。 我试过了

ggplot(test.melt, aes(x=Name, y=value, fill=Group)) +
  geom_bar(stat="identity", position="dodge")

但我不知道怎么告诉ggplot2要躲闪什么,即怎么处理“年”。有解决方案吗?

1 个答案:

答案 0 :(得分:0)

您必须在某处使用Year作为组类别。在这里,我使用了颜色,但它也适用于形状,但对于后者,你不会看到哪个条形对应于哪一年。

ggplot(test.melt, aes(x=Name, y=Mean, fill=Group, color=Year)) +
geom_bar(stat="identity", position="dodge")