Especificando a escala de cores para mapas em ggplot

Tendo dificuldade em definir as escalas de cores para mapas em ggplot. Eu preciso de tons de cinza. Muito grato por uma ideia de que estou errado. Eu também me pergunto se existe uma maneira mais eficiente de obter a variável de cor em ggplot (ou seja, anexando-a a dados 'fortificados')?

library(ggplot2)
states <- map_data("state")
var <- data.frame(table(states$region)) # using rows as a dummy variable
states$variable <- var$Freq[match(states$region,var$Var1)]

map <- ggplot(states, aes(x=long, y=lat)) + 
  geom_polygon(aes(group=group, fill=variable), col=NA,lwd=0)

map + scale_colour_gradient(low='white', high='grey20')
map + scale_colour_grey()

questionAnswers(2)

yourAnswerToTheQuestion