agrupación de etiquetas de ejes ggplot2

Estoy tratando de crear un gráfico con ggplot2 donde, en el eje X, podría encontrar alguna forma de tener una etiqueta para grupos de variables. Aquí hay una versión mínima de mi código:

Bzero   <-100*matrix(runif(100),ncol=10,nrow=10)

B   <-99
LNtype  <-c(1,1,1,1,2,2,2,3,3,3)
LNnames <-c('grp1','grp2','grp3')

tB  <-t(Bzero)/(B+1)
dfB <-data.frame(tB)
dfB$grp <-LNtype
dfB$vid <-1:nrow(tB)


mB0 <- melt(dfB,id.vars=c('grp','vid'))
mB0 <- mB0[order(mB0$grp,mB0$vid),]

gg0 <- ggplot(mB0,aes(x=vid,y=variable))
gg0 <- gg0 + geom_tile(aes(fill = value),colour = "white")
gg0 <- gg0 + scale_fill_gradient(low = "green", high = "red",na.value='white',limits=c(0,1),name='p0i')
gg0 <- gg0 + xlab('Equation')+ylab('Covariate')

Aquí está la trama resultante:

Y esto es lo que me gustaría tener:

He estado jugando con la escala, los descansos y las etiquetas en vano. Incluso una cantidad masiva de Google no reveló ninguna trama con ese tipo de eje. ¿Hay alguna manera de conseguir lo que quiero?

Respuestas a la pregunta(1)

Su respuesta a la pregunta