Posição alternativa do geom_text com hjust

Estou plotando um gráfico de barras empilhadas e usogeom_text para inserir o valor de cada pilha. A dificuldade que estou enfrentando é que algumas pilhas são muito pequenas / estreitas, de modo que o texto de duas pilhas se sobrepõem e, portanto, não é muito legível. Gostaria de ajustar o posicionamento do texto de uma maneira que, por exemplo, a posição do texto alterne entrehjust == 1 ehjust == -1 para cada pilha, para que não haja sobreposições (ou qualquer outro método que resulte em texto legível).

Aqui está um exemplo do que estou fazendo atualmente (umdput domydf é fornecido abaixo):

library(ggplot2)

ggplot(mydf, aes(x=variable, y = value, fill = Category)) + 
  geom_bar(stat="identity") +
  geom_text(aes(label = value, y = pos-(value/2)), size = 3) 

O que eu tentei até agora é:

Usandoposition = position_dodge(width = 0.5) eposition = position_jitter(h =0.5, w = 0.5) mas nenhum resultou no que eu estava tentando fazer.

Meu primeiro pensamento foi definirhjust = c(1,-1) esperando que fosse reciclado e os textos alternassem entrehjust == 1 ehjust == -1 mas resulta na mensagem de erro:

Error: Incompatible lengths for set aesthetics: size, hjust

Eu também tentei definirsize = c(3,3,3,3,3,3,3,3,3), hjust = c(1,-1,1,-1,1,-1,1,-1,1) mas isso resulta na mesma mensagem de erro.

Eu gostaria de receber alguns conselhos sobre como conseguir isso da maneira certa (e também estou aberto a outras sugestões).

Eu não conseguia descobrir por que odput não funcionou (também para mim não funcionou), então aqui estão os dados em formato legível:

    Category variable value   pos maxpos
1        AX       WW  47.8  47.8  184.1
2        AY       WW   5.6  53.4  184.1
3        AZ       WW  15.8  69.2  184.1
4        BX       WW  31.4 100.6  184.1
5        BY       WW  11.7 112.3  184.1
6        BZ       WW  10.7 123.0  184.1
7        CX       WW   2.2 125.2  184.1
8        CY       WW  21.4 146.6  184.1
9        CZ       WW  37.5 184.1  184.1
10       AX       SM  39.8  39.8  148.6
11       AY       SM   2.9  42.7  148.6
12       AZ       SM  13.2  55.9  148.6
13       BX       SM  22.7  78.6  148.6
14       BY       SM   7.3  85.9  148.6
15       BZ       SM   8.9  94.8  148.6
16       CX       SM   1.6  96.4  148.6
17       CY       SM  17.3 113.7  148.6
18       CZ       SM  34.9 148.6  148.6
19       AX     AsIs 156.9 156.9  519.0
20       AY     AsIs  13.1 170.0  519.0
21       AZ     AsIs  70.5 240.5  519.0
22       BX     AsIs  72.6 313.1  519.0
23       BY     AsIs  30.7 343.8  519.0
24       BZ     AsIs  35.6 379.4  519.0
25       CX     AsIs   5.2 384.6  519.0
26       CY     AsIs  44.8 429.4  519.0
27       CZ     AsIs  89.6 519.0  519.0

questionAnswers(1)

yourAnswerToTheQuestion