首页 > 解决方案 > ggplot:如何从一个方面删除未使用的因子水平?

问题描述

以下代码

d1 = data.frame(y=1:2,group=factor(c('A','B'), levels=c('A','B','C')), fac = 'f1')
d2 = data.frame(y=1:3,group=factor(c('A','B','C'), levels=c('A','B','C')), fac = 'f2')
d = rbind(d1,d2)

library(ggplot2)
ggplot( d, aes(x=group, y=y) ) + geom_point(size=3) + facet_grid( ~ fac)

结果如下图。如何C从构面“f1”中删除未使用的因子级别? 在此处输入图像描述

标签: ggplot2facet

解决方案


在 facet grid 中设置 scales = free 可以解决问题:

facet_grid( ~ fac, scales = "free")


推荐阅读