2013-08-26 69 views
0

我需要根据子组所属的组对箱线图(子组)进行分组并重新排序它们(组)。我用使用ggplot2对箱线图进行分组和重新排序

ř脚本是:

data<-read.delim("clipboard") 

p <- ggplot(data, aes(Class2,cM)) 

p <- p + geom_boxplot(aes(fill = factor(Class1))) + 
    geom_jitter(alpha = 0.4, position = position_jitter(height = .01, width = .35)) + 
    coord_flip() 

和我生成该(1类=基团;等级2 =亚组)。

grouping boxplots

请从here下载的数据表。如您所见,组织不在图中组织。如果你能帮助我,我将不胜感激。由于某些子组没有多个值,因此我们无法看到颜色来指示它们属于哪个组。如果您可以添加标签以显示哪些子组位于哪个组中,那将会很棒。

谢谢!

+0

可能是更好的移动堆栈溢出? – SlowLearner

回答

0

请以文本格式提供数据,而不是xls。

解决方案1:转换Class2中的因素,并设置水平所要求的顺序

data$Class2 <- factor(
    data$Class2, 
    levels = c("group1:b", "group1:c", "group2:a") 
) 

解决方案2:使用facet_wrap代替填充

ggplot(data, aes(x= Class2, y = cM)) + geom_boxplot() + 
    geom_jitter(alpha = 0.4, position = position_jitter(height = .01, width = .35)) + 
    coord_flip() + 
    facet_wrap(~Class1) 
ggplot(data, aes(x= Class2, y = cM)) + geom_boxplot() + 
    geom_jitter(alpha = 0.4, position = position_jitter(height = .01, width = .35)) + 
    coord_flip() + 
    facet_wrap(~Class1, scales = "free_x") 
相关问题