R ggplot geom_瓷砖间距与镶嵌面

R ggplot geom_瓷砖间距与镶嵌面,r,ggplot2,R,Ggplot2,我正在尝试制作一个由x轴上的两个离散变量排序的平面图。问题是我想让垂直相邻的条目都接触。当前,行与行之间存在空间,这取决于顶部绘图与底部绘图中因子的级别。抱歉,这个可复制的示例有点冗长 npats=20 simsympt=c(id=1,date=1,tx=“control”,sympt=0) 对于(1:NPAT中的i) {天=绝对值(四舍五入(1100,40,0)) id=代表(作为字符(i),天) 日期=1:天 tx=代表(样本(c(“对照组”、“治疗”),1),天) sympt=样本(0:1

我正在尝试制作一个由x轴上的两个离散变量排序的平面图。问题是我想让垂直相邻的条目都接触。当前,行与行之间存在空间,这取决于顶部绘图与底部绘图中因子的级别。抱歉,这个可复制的示例有点冗长

npats=20
simsympt=c(id=1,date=1,tx=“control”,sympt=0)
对于(1:NPAT中的i)
{天=绝对值(四舍五入(1100,40,0))
id=代表(作为字符(i),天)
日期=1:天
tx=代表(样本(c(“对照组”、“治疗”),1),天)
sympt=样本(0:10,天,p=c(12,3,3,2,1,1,1,1),代表=T)
simsympt=rbind(simsympt,cbind(id,date,tx,sympt))
}
####把东西整理一下
simsympt=data.frame(simsympt)[-1,]
colnames(simsympt)=c('id','date','tx','level'))
simsympt$date=as.numeric(as.character(simsympt$date))
simsympt$level=as.numeric(as.character(simsympt$level))
#simsympt$id=as.numeric(as.character(simsympt$id))
头部(simsympt)
##现在重要的事情
P
编辑:进一步澄清后

删除了错误的空间。您需要更改
facet\u grid
调用以包含
scales=“free”
参数

p <- ggplot(simsympt, aes(x=date,y=id))    
p=   p + geom_tile(aes(fill=level)) +   
     facet_grid(tx~.,drop=T,space="free",scales="free")+
     scale_y_discrete(expand=c(0,0),drop=T)
p
p <- ggplot(simsympt, aes(x=date,y=id))    
p=   p + geom_tile(aes(fill=level)) +   
     facet_grid(tx~.,drop=T,space="free",scales="free")+
     scale_y_discrete(expand=c(0,0),drop=T)