2016-03-25 38 views
3

我有以下数据集:ggplot:条形图的面板

Year, Height, Width, Weight 
1990, 5, 45, 190 
2000, 7, 77, 210 
2010, 2, 20, 150 

我想与曲线绘制柱状图的单个列为高度宽度,和重量 。在每个条形图中,值将绘制为每年。因此,例如我的柱状图中的顶部柱状图是高度它将显示x轴上的1990年,2000年和2010年的值5,7和2。

我已经找到了如何让巴图与较上年各条情节单柱:

data <- read.csv("../data/MyData.csv") 
data.m <- melt(data, id.vars = "Year") 

p <- ggplot(data.m, aes(variable, value)) + geom_bar(stat="identity") + facet_wrap(~ Year, ncol=1) 
print(p) 

在这种情况下,我的变量 - 高度重量,并宽度 - 位于每个条形图的x轴上。尽管如此,我根本无法弄清楚如何进行转换,以便位于x轴上。有什么建议么?

+1

你有没有试过映射'Year'之前在'aes'然后通过'variable'磨制而不是'ggplot'的'x'说法? – cderv

+0

啊,就是这样。谢谢@Titolondon!你可以发布这个答案,以便我可以标记它是正确的吗? – Lyngbakr

回答

1

要做到这一点,请将正确的值映射到您想要的美学。这是比较容易做到的非面积来检查,如果一切正常刻面

p <- ggplot(data.m, aes(x = Year, y = value)) + 
    geom_bar(stat="identity") + 
    facet_wrap(~ variable, ncol=1)