如何用不同颜色的叠加点创建箱形图?

时间:2017-02-25 16:31:37

标签: r ggplot2 boxplot points

我目前正在尝试使用叠加点制作一个箱形图。然而,根据因子变量,箱线图中的点必须是不同的颜色。代码顺利进行到这里:

function test(firstValue, secondValue=5){
  console.log("firstValue: " + firstValue);
  console.log("secondValue: " + secondValue);
  console.log("----------");
}

test(2, 3);
test(2);

(见下图)

当我尝试根据变量 MioBox <- ggplot(mydata, aes(x=mng, y=Active, fill=mng))+ geom_boxplot(color="black", notch=TRUE)+ geom_point(position="jitter", color="blue", alpha=.5)+ geom_rug(side="l", color="black")+ facet_grid(.~hor,scales = "free", space = "free")+ labs(title='bla bla bla')

为箱图中的点添加颜色时
plot

我得到的箱形图与变量图不匹配,每个箱图中每种颜色分配3个点。结果是我总是有9个点,但大多数时候有一个颜色有6个,另外三个有三个,并且缺少一种颜色: superimposed points coloured by factor variable (there should be 3 dots per color in each boxplot)

以下是重现问题的表格:

MioBox <- ggplot(mydata, aes(x=mng, y=Active, fill=mng))+ 
geom_boxplot(color="black", notch=TRUE)+ 
#geom_point(position="jitter", color="blue", alpha=.5)+ 
geom_rug(side="l", color="black")+
facet_grid(.~hor,scales = "free", space = "free")+
labs(title='bla bla bla')
MioBox + scale_fill_manual(values=c("#669966", "#CC9966", "#CCCC66"))+
geom_point(position="jitter",aes(color = factor(mydata$plot)))

任何人都可以帮我这个吗?

1 个答案:

答案 0 :(得分:0)

问题在于,当您只应致电mydata$plot时,您的来电plot。 ggplot对象已经有一个预定义的data frame

您可以通过重写最后一行来修复它:

MioBox +
scale_fill_manual(values=c("#669966", "#CC9966", "#CCCC66"))+
geom_point(position="jitter",aes(color = factor(plot)))