geom_text Wie positioniere ich den Text auf einem Balken?

8

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.

    
tmhs 24.10.2016, 05:46
quelle

2 Antworten

14

Bearbeiten:

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.

1. Vertikale Ausrichtung

%Vor%

Dies ergibt:

2. Horizontale Ausrichtung

%Vor%

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.

1. Vertikale Ausrichtung

%Vor%

So sieht das aus:

2. Horizontale Ausrichtung

%Vor%

So sieht das aus:

    
tchakravarty 24.10.2016, 07:16
quelle
3

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.

%Vor%     
Sandy Muspratt 25.10.2016 00:58
quelle

Tags und Links