Erhöhen Sie den Abstand zwischen Text und Titel auf der y-Achse

107

Der Titel der y-Achse erscheint zu nahe am Achsentext.

ggplot(mpg, aes(cty, hwy)) + geom_point()

ggplot Ausgabe

Ich habe versucht, den Wert vieler Parameter mit zu ändern, theme()aber keiner scheint zu helfen.

Ernest A.
quelle

Antworten:

170

Von können ggplot2 2.0.0Sie das margin =Argument von verwenden element_text(), um den Abstand zwischen dem Achsentitel und den Zahlen zu ändern. Stellen Sie die Werte für die Seiten marginon top, right, bottom und left des Elements ein.

ggplot(mpg, aes(cty, hwy)) + geom_point()+
  theme(axis.title.y = element_text(margin = margin(t = 0, r = 20, b = 0, l = 0)))

marginkann auch für andere verwendet werden element_textElemente (siehe ?theme), wie axis.text.x, axis.text.yund title.

Didzis Elferts
quelle
4
Diese Methode scheint nicht zu funktionieren facet_grid, wohingegen die von Adam B vorgeschlagene Antwort (dh ein Zeilenumbruch mit \ n)
Anonym
@Anonymous Können Sie ein Beispiel geben, bei dem dieses margin =Argument nicht funktioniert?
Didzis Elferts
Ich habe es mit versucht theme_bw. Entschuldigung, das Posten des gesamten Codes ist unlesbar / chaotisch ...
Anonym
3
@Anonymous Wenn Sie theme_bw()dann theme_bw()sollten , bevor sie verwendet werden , theme()funktionieren , weil in predefinied Themen dort allready Argument für Achsentitel ist.
Didzis Elferts
Danke für die Klarstellung!
Anonym
96

Basierend auf diesem Forumsbeitrag: https://groups.google.com/forum/#!topic/ggplot2/mK9DR3dKIBU

Klingt am einfachsten, wenn Sie vor Ihrer x-Achse und nach Ihren Beschriftungen der y-Achse einen Zeilenumbruch (\ n) einfügen. Scheint viel einfacher (wenn auch dümmer) als die oben aufgeführten Lösungen.

ggplot(mpg, aes(cty, hwy)) + 
    geom_point() + 
    xlab("\nYour_x_Label") + ylab("Your_y_Label\n")

Hoffentlich hilft das!

Adam B.
quelle
4
Normalerweise verwende ich diese Methode, sie ist viel schneller und es ist nicht erforderlich, eine weitere Option zu ggplot hinzuzufügen, es sei denn, ich benötige eine spezielle Optimierung.
R. Prost