Destacando regiões particulares de um gráfico de dispersão em um ggplot

Eu preciso discutir um gráfico de dispersão e gostaria de me referir a regiões particulares da trama. Existe alguma maneira de 'destacar' seções específicas da trama? Talvez com caixas e etiquetas como abaixo?

set.seed(1410)
dsmall<-diamonds[sample(nrow(diamonds), 100), ]
df<-data.frame("x"=dsmall$carat, "y"=dsmall$price)

p <-ggplot(df, aes(x, y)) 
p <- p + geom_point(alpha=2/10, shape=21, fill="blue", colour="black", size=5)

questionAnswers(1)

yourAnswerToTheQuestion