Mapa de calor con números en ggvis

Estoy tratando de replicar el mapa de calor con números de ggplot2 en ggvis. la versión de ggplot2 es

library(ggplot2)
hec <- as.data.frame(xtabs(Freq ~ Hair + Eye, HairEyeColor))
ggplot(hec, aes(Hair, Eye)) +
geom_tile(aes(fill = Freq)) + 
geom_text(aes(label = Freq),colour="white") 

y se ve así

Mi versión en ggvis es

hec%>%
ggvis(~Hair, ~Eye, fill=~Freq)%>%
layer_rects(width = band(), height = band()) %>%
layer_text(text:=~Freq,fontSize := 20, fill:="white",baseline:="top",align:="center") %>%
scale_nominal("x", padding = 0, points = FALSE) %>%
scale_nominal("y", padding = 0, points = FALSE) 

y el resultado no es perfecto

Intenté arreglar los números alineándolos agregando manualmente márgenes, pero este caso no es redimensionable.

¿Algunas ideas?

Respuestas a la pregunta(2)

Su respuesta a la pregunta