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