我试图用scale =“free_y”绘制boxplot,但我发现在ggplot2中不可能。
所以我用了
library(gridExtra)
grid.arrange(boxplot1,boxplot2,boxplot3,ncol=3)
结果非常好,但是可以为单个图表发送条带,就像使用facet_grid()一样吗?
我很感激任何想法和建议。
以下是示例:
data(mpg)
ggplot(mpg,aes(x=manufacturer,y=displ))+facet_grid(.~class)+geom_boxplot()
现在boxplot不能使用scales =“free_y” 因此我做了一件事
box1<-ggplot(subset(mpg,class=="2seater"),aes(x=manufacturer,y=displ))+geom_boxplot()
box2<-ggplot(subset(mpg,class=="minivan"),aes(x=manufacturer,y=displ))+geom_boxplot()
box3<-ggplot(subset(mpg,class=="suv"),aes(x=manufacturer,y=displ))+geom_boxplot()
grid.arrange(box1,box2,box3,ncol=3)
结果很好,有适当的比例,但我现在在每个情节都丢失了条形文字。
是否可以单独启用它们然后我可以使用
grid.arrange()
提前致谢。
答案 0 :(得分:1)
如果您的图表仅由一个变量分割,那么您可以使用facet_wrap()
代替facet_grid()
,这样您就可以使用scales="free_y"
。
ggplot(mtcars,aes(as.factor(cyl),mpg))+geom_boxplot()+
facet_wrap(~gear,scales="free_y")