【发布时间】:2018-03-27 20:26:16
【问题描述】:
我有两个因子和两个连续变量,我使用它来使用 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)
这会产生this figure
有什么方法可以删除不绘制任何数据的构面?并且,理想情况下,将 x 和 y 轴标签向上或向右移动到其余图?如图this GIMPed version
我在这里和其他地方搜索过,除非我的搜索词不够好,否则我在任何地方都找不到相同的问题。类似的问题通常与未使用的因子水平有关,但这里没有未使用的因子水平,只有因子水平组合。所以facet_grid(drop=TRUE) 或ggplot(data=droplevel(dummy)) 在这里没有帮助。将这些因素组合成一个因素并丢弃新因素的未使用水平只能产生一个一维分面网格,这不是我想要的。
注意:我的实际数据有第三个因素水平,我用不同的点颜色表示。因此,允许我保留图例的单图解决方案将是理想的。
【问题讨论】: