Alternative Geotext-Position mit hjust

Ich zeichne ein gestapeltes Balkendiagramm und verwende esgeom_text um den Wert jedes Stapels einzufügen. Die Schwierigkeit, mit der ich konfrontiert bin, besteht darin, dass einige Stapel sehr klein / eng sind, so dass sich der Text von zwei Stapeln überlappt und daher nicht gut lesbar ist. Ich möchte die Textpositionierung so anpassen, dass sich beispielsweise die Textposition abwechselthjust == 1 undhjust == -1 für jeden Stapel, so dass es keine Überlappungen gibt (oder jede andere Methode, die zu lesbarem Text führt).

Hier ist ein Beispiel dafür, was ich gerade mache (adput vonmydf ist unten angegeben):

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) 

Was ich bisher ausprobiert habe ist:

Verwendenposition = position_dodge(width = 0.5) undposition = position_jitter(h =0.5, w = 0.5) aber keiner führte zu dem, was ich zu tun versuchte.

Mein erster Gedanke war zu definierenhjust = c(1,-1) Ich hoffe, dass es recycelt wird und die Texte abwechselnhjust == 1 undhjust == -1 aber es ergibt sich die Fehlermeldung:

Error: Incompatible lengths for set aesthetics: size, hjust

Ich habe auch versucht zu definierensize = c(3,3,3,3,3,3,3,3,3), hjust = c(1,-1,1,-1,1,-1,1,-1,1) Dies führt jedoch zu derselben Fehlermeldung.

Ich würde mich über einen Rat freuen, wie dies richtig erreicht werden kann (und bin auch für andere Vorschläge offen).

Ich konnte nicht herausfinden, warum das so istdput hat nicht funktioniert (auch für mich nicht), also hier sind die Daten in lesbarem Format:

    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

Antworten auf die Frage(1)

Ihre Antwort auf die Frage