不完全确定你在寻找什么 . 这很接近吗?
library(ggplot2)
library(plyr)
ggplot(dfmelt, aes(x=factor(round_any(x,0.5)), y=value,fill=variable))+
geom_boxplot()+
facet_grid(.~variable)+
labs(x="X (binned)")+
theme(axis.text.x=element_text(angle=-90, vjust=0.4,hjust=1))
EDIT (对OP评论的回应)
你可以通过取出 facet_grid(...) 来调用每个箱子中的Y彼此相邻,但我不推荐它 .
ggplot(dfmelt, aes(x=factor(round_any(x,0.5)), y=value, fill=variable))+
geom_boxplot()+
labs(x="X (binned)")+
theme(axis.text.x=element_text(angle=-90, vjust=0.4,hjust=1))
如果你必须这样做,使用方面仍然更清晰:
dfmelt$bin
ggplot(dfmelt, aes(x=bin, y=value, fill=variable))+
geom_boxplot()+
facet_grid(.~bin, scales="free")+
labs(x="X (binned)")+
theme(axis.text.x=element_blank())
请注意, bin 列添加到 dfmelt . 这是因为在 facet_grid(...) 公式中使用 factor(round_any(x,0.5)) 不起作用 .