ggplot2: chaves em um eixo?

Dentroresponder uma visualização recente pergunta Eu realmente precisava de aparelhos para mostrar uma extensão em um eixo, e não consigo descobrir como fazê-lo no ggplot2. Aqui está o enredo:

Em vez de uma marca de seleção, eu realmente gostaria que o rótulo do eixo y "Segunda letra dos nomes de duas letras" tivesse uma chave que se estendesse de 1 a 10 (a extensão vertical das segundas letras vermelhas e azuis). Mas não tenho certeza de como fazer isso acontecer. O eixo x pode se beneficiar de um tratamento semelhant

@Code está disponível na pergunta CrossValidated vinculada (e desnecessariamente complicada para este exemplo, por isso não mostrarei). Em vez disso, aqui está um exemplo mínimo:

library(ggplot2)
x <- c(runif(10),runif(10)+2)
y <- c(runif(10),runif(10)+2)
qplot(x=x,y=y) +
  scale_x_continuous("",breaks=c(.5,2.5),labels=c("Low types","High types") )

Nesse caso, uma chave de (0,1) para tipos baixos e de (2,3) para os tipos altos seria ideal em vez de marcas de escal

Prefiro não usargeom_rect Porque

As marcas permanecem Eu preferiria aparelho Será dentro da trama em vez de fora dela

Como eu conseguiria isso? A resposta perfeita teria:

Um aparelho cacheado bonito, suave e finoDesenhado fora da área de plotagem Especificado por meio de um argumento de alto nível (idealmente, um objeto do tipo intervalo passado para obreaks opção emscale_x_continuous)

questionAnswers(5)

yourAnswerToTheQuestion