2013-01-10 34 views
37

数据:固定面的顺序ggplot

type size amount 
T 50%  48.4  
F 50%  48.1  
P 50%  46.8  
T 100% 25.9  
F 100% 26.0  
P 100% 24.9  
T 150% 21.1  
F 150% 21.4  
P 150% 20.1  
T 200% 20.8  
F 200% 21.5  
P 200% 16.5 

我需要使用ggplot绘制上述数据的条形图(x轴 - >的“类型”,y轴 - >“量”,按“大小”分组)。当我使用下面的代码时,我没有按照数据中显示的顺序获取变量“type”和“size”。请看图。我已经使用了下面的代码。

ggplot(temp, aes(type, amount , fill=type, group=type, shape=type, facets=size)) + geom_bar(width=0.5, position = position_dodge(width=0.6)) + facet_grid(.~size) + theme_bw() + scale_fill_manual(values = c("darkblue","steelblue1","steelblue4"), labels = c("T", "F", "P")) 

enter image description here

为了解决订单问题,我使用了以下的变量“type”的因子方法。请看图也。

temp$new = factor(temp$type, levels=c("T","F","P"), labels=c("T","F","P")) 

enter image description here

不过,现在我不知道如何解决的变量“大小”命令。应该是50%,100%。 150%和200%。

回答

57

让你的尺寸的因素在您的数据帧由:

temp$size_f = factor(temp$size, levels=c('50%','100%','150%','200%')) 

然后改变facet_grid(.~size)facet_grid(.~size_f)

然后剧情: enter image description here

的图表现在是在正确的顺序。

+1

谢谢。我真的很愚蠢。 :-) – samarasa

+0

很高兴能帮到:) – Harpal

+0

@Harpal你有一个评论你的答案的形式的另一个答案。看看 –