我目前正在尝试使用叠加点制作一个箱形图。然而,根据因子变量,箱线图中的点必须是不同的颜色。代码顺利进行到这里:
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个,另外三个有三个,并且缺少一种颜色:
以下是重现问题的表格:
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)))
任何人都可以帮我这个吗?
答案 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)))