ggplot boxplot提供单个框而不是几个框

时间:2015-05-25 20:55:21

标签: r graph ggplot2

我有这种格式的数据

         Var1 Var2 value
1   uc010ocr.1    1    68
2   uc010ocs.2    1    34
3   uc010oct.2    1     0
4   uc010ocu.2    1  5712
5   uc010ocv.2    1 45674
6   uc010ocw.2    1 46156
7   uc010ocz.2    1 54515
8   uc010oda.2    1     0
9   uc010odb.2    1     0
10  uc010odc.1    1    68
11  uc010odd.1    1 43045
12  uc010ocr.1    2   136
13  uc010ocs.2    2     0

Var2列从1-10开始,每组具有与此处显示的Var2 == 1相同的行数。 Var1中的名称为每个Var2组重复。

当我这样做时

result<-ggplot(datasetMelted, aes(x = Var2, y=value)) + geom_boxplot()+
ggtitle("Coverage")+xlab("Location")+ylab("Coverage")+
stat_summary(fun.y = mean, geom = "point", position = position_dodge(width = .9),
size = 6, shape = 4, show_guide = F)

我得到一个跨越x轴的单个框。当我用Var1替换Var2时,我得到了多个盒子。我在做什么阻止Var2被用作正确的x值?谢谢。

1 个答案:

答案 0 :(得分:0)

我刚刚在创建箱线图时遇到了类似的问题,并且只有一个箱体跨越了整个 x 轴。我相信这是因为我的 x 值是数字而不是字符。

为了解决这个问题(并且有效),我将列转换为字符:

datasetMelted$Var2 = as.character(datasetMelted$Var2)

这应该会将您的 Var2 更改为字符形式,这样箱线图就不会将其考虑在内。