R diagrama de tipo de mapa de calor con diagrama de frecuencia

Estoy tratando de crear una trama como la siguiente:

Aproximadamente obtuve el gráfico izquierdo usando geom_tile () de ggplot2, pero no puedo encontrar la forma de generar el gráfico de la derecha y cómo juntar los dos gráficos.

Ejemplo:

tt <- structure(list(Gene = structure(c(3L, 1L, 2L, 4L, 4L, 4L, 2L, 3L, 1L, 3L, 1L, 2L, 1L, 2L, 4L), .Label = c("A", "B", "C", "D"), class = "factor"), tumour.sample = structure(c(1L, 5L, 5L, 5L, 6L, 6L, 6L, 6L, 6L, 6L, 3L, 3L, 4L, 4L, 2L), .Label = c("1", "5", "3", "4", "2", "6"), class = "factor"), Effect = c("missense", "missense", "missense", "missense", "missense", "missense", "missense", "nonsense", "missense", "missense", "missense", "missense", "missense", "nonsense", "missense")), .Names = c("Gene", "tumour.sample", "Effect"), row.names = c(1L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 18L), class = "data.frame")
ggplot(tt, aes(x=Gene, y=tumour.sample)) + geom_tile(aes(fill=Effect)) + theme(axis.text.x = element_text(angle = -90, hjust = 0))

¿Cuál es el mejor enfoque para hacer esto?

Por el momento, el mapa de calor no tiene las etiquetas en la parte superior y los cuadros tampoco son cuadrados.

Respuestas a la pregunta(1)

Su respuesta a la pregunta