我有两个因子和两个连续变量,我用它来创建一个使用 ggplot2 的双向面图。然而,并非我的所有因子组合都有数据,所以我最终得到了虚拟方面。这是一些生成等效输出的虚拟代码:
library(ggplot2)
dummy<-data.frame(x=rnorm(60),y=rnorm(60),
col=rep(c("A","B","C","B","C","C"),each=10),
row=rep(c("a","a","a","b","b","c"),each=10))
ggplot(data=dummy,aes(x=x,y=y))+
geom_point()+
facet_grid(row~col)
Run Code Online (Sandbox Code Playgroud)
这产生了这个数字
有没有办法删除不绘制任何数据的方面?并且,理想情况下,将 x 和 y 轴标签向上或向右移动到其余图?如这个 GIMPed 版本所示
我已经在这里和其他地方搜索过,除非我的搜索词不够好,否则我在任何地方都找不到相同的问题。类似的问题通常是未使用的因子水平,但这里没有未使用的因子水平,只是因子水平组合。所以facet_grid(drop=TRUE)或ggplot(data=droplevel(dummy))在这里没有帮助。将这些因素组合成一个单一的因素并删除新因素的未使用级别只能产生一维面网格,这不是我想要的。
注意:我的实际数据有第三个因子水平,我用不同的点颜色表示。因此,允许我保留图例的单图解决方案将是理想的。