Ich möchte den Text auf dem Barplot anpassen.
Ich habe versucht, hjust / vjust anzupassen, so wie ich es mag, aber es scheint, als ob es nicht richtig funktioniert.
%Vor%Ich möchte also, dass die Zahlen auf jedem Balken in der Mitte auf der rechten Seite liegen, damit er lesbar ist, ohne sich wie die letzten Teile zu überlappen.
Die einfachere Lösung, um hjust
/ vjust
intelligent zu erhalten, besteht darin, group
asthetic zu geom_text
hinzuzufügen und dann hjust
& amp; position
passt automatisch auf group
an.
Dies ergibt:
Dies ergibt:
Dies ist nicht unbedingt der allgemeinste Weg, um dies zu tun, aber Sie können eine fill
abhängige hjust
(oder vjust
, abhängig von der Ausrichtung) Variable haben. Es ist mir nicht ganz klar, wie der Wert des Anpassungsparameters ausgewählt wird, und derzeit basiert er darauf, was rechts aussieht. Vielleicht kann jemand anderes eine allgemeinere Art vorschlagen, diesen Parameterwert auszuwählen.
So sieht das aus:
So sieht das aus:
Die Anweisung position_dodge()
benötigt einen width-Parameter. Um sicherzustellen, dass der Text am Ende der Balken zentriert ist (dh die Ausweichbreite für die Balken und der Text müssen übereinstimmen), geben Sie der position_dodge()
-Anweisung innerhalb von geom_bar
und innerhalb von% co_de denselben Breitenparameter %.
Es gibt auch einen width-Parameter für geom_text
, also die Breite der Balken. Wenn die Balken innerhalb jedes geom_bar
gegeneinanderstoßen sollen, muss die Balkenbreite der Ausweichbreite entsprechen. Wenn Sie eine kleine Lücke zwischen den Stäben wünschen, sollten Sie die Stablänge ein wenig kleiner als die Auswurffläche machen.
Wenn Sie eine globale Ästhetik verwenden, brauchen Sie keine name
Ästhetik (jedoch verwenden Sie nur lokale Ästhetik, Sie benötigen eine Gruppenästhetik für group
).
geom_text
positioniert die Textbeschriftungen direkt hinter dem Ende der Balken; hjust = -0.5
positioniert sie am Ende der Balken.