R - 在geom_boxplot(ggplot2)之上绘制geom_point

时间:2015-02-05 21:37:16

标签: r ggplot2 fill boxplot points

我无法在geom_point()的{​​{1}}图层上绘制geom_boxplot()图层,并且做了一些研究,似乎没有任何报告的问题这种性质。我的数据集中有3个因素:ggplot2namegenotype,我的响应变量为region。我有工作代码来生成两个图层的图。问题是这些点会忽略volume的{​​{1}}因子,而忽略fill的{​​{1}}因子。结果是,对于geom_point()的每个值,这些点都被绘制在一组箱图的中间。这是我构建情节的代码。

geom_boxplot()

我抱歉没有创建可重现的数据集 - 我还不太熟悉模拟数据。如果没有一个简单的答案(我希望有,并且我可能只是遗漏了一些东西),我将添加模拟数据来帮助回答这个问题。

谢谢!

2 个答案:

答案 0 :(得分:1)

geom_point()应使用color属性,而不是fill属性(除非您使用的是异常shape)。看看这是否适合你:

meansPlot = ggplot(data=meansData,aes(x=factor(name), y=volume, fill=factor(genotype)), color = factor(genotype))
meansPlot = meansPlot + 
geom_boxplot() +
geom_point() +
facet_wrap( ~ region, scales='free')

答案 1 :(得分:-1)

我最终解决了这个问题。此代码错开geom_point()以与geom_boxplot()内联。

meansPlot = ggplot(data=meansData, aes(x=name, y=volume, fill=genotype, color=genotype))  
meansPlot = meansPlot +
geom_point(position=position_jitterdodge(dodge.width=0.9)) +
geom_boxplot(fill="white", position=position_dodge(width=0.9), alpha=0.5) +
facet_wrap( ~ region, scales='free')

感谢大家的努力。