Jak rysować linie poza obszarem wydruku w ggplot2?

Stworzyłem tę fabułęggplot2:

Linie zewnętrzne muszą odpowiadać skali Y, tj. Pozycja Y linii dla Tekstu1 powinna wynosić 100 i 85). Jedynym sposobem, w jaki mogę to zrobić, jest narysowanie pustego wykresu po prawej stronie figury w tej samej skali, co wykres słupkowy, a następnie użycie funkcji adnotacji do narysowania linii. Innym podejściem jest proste „ręczne” narysowanie linii za pomocągrid.lines, jednak współrzędnegrid.lines nie odpowiada skali Y wykresu.

Czy można jakoś narysować te linie przy użyciu innego podejścia? Zakładam, że trzeba to zrobićgrid.lines. Jak mogę przekazać współrzędne Y wykresu słupkowego dogrid.lines?

Poniżej znajduje się minimalny kod użyty do utworzenia tej liczby:

<code>library (ggplot2)
test= data.frame(
  group=c(rep(1,6), rep(2,6)),
  subgroup=c( 1,1,1,2,2,2,1,1,1,2,2,2),
  category=c( rep(1:3, 4)),
  count=c( 10,80,10,5,90,5,  10,80,10,5,90,5   )
  )

qplot(subgroup, 
      count, 
      data=test, 
      geom="bar", 
      stat="identity",
      fill =category,  
      facets =  .~ group,  width=0.9)+
      opts(legend.position="none",
           plot.margin = unit(c(0,9,2,0), "lines"))
</code>

Jak narysować linie po prawej stronie pasków?

Ostatnio zadałem pytanie o rysowanie tekstu poza obszarem działki wggplot2 a rozwiązaniem było użyciegt$layout igrid.draw.

Wyświetlanie tekstu poniżej wykresu wygenerowanego przez ggplot2

Czy można tu zastosować podobne podejście? Rozumiem, że annotation_custom dotyczy tylko tekstu i nie będzie działać z innymi elementami graficznymi. Dzięki

questionAnswers(3)

yourAnswerToTheQuestion