固定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"))


为了解决订单问题,我对变量“类型”使用了因子方法,并使用了以下方法。也请参见该图。


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


但是,现在我不知道如何确定变量“ size”的顺序。应该是50%,100%。150%和200%。


慕无忌1623718
浏览 739回答 2
2回答

牛魔王的故事

通过以下方法使大小成为数据框中的一个因素:temp$size_f = factor(temp$size, levels=c('50%','100%','150%','200%'))然后将更facet_grid(.~size)改为facet_grid(.~size_f)现在,这些图以正确的顺序排列。
打开App,查看更多内容
随时随地看视频慕课网APP