Aumenta la distanza tra testo e titolo sull'asse y


107

Il titolo dell'asse y appare troppo vicino al testo dell'asse.

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

output ggplot

Ho provato a cambiare il valore di molti parametri con theme()ma nessuno sembra aiutare.

Risposte:


171

Da ggplot2 2.0.0è possibile utilizzare l' margin =argomento di element_text()per modificare la distanza tra il titolo dell'asse ei numeri. Impostare i valori dei lati marginon top r, bight, ottom e eft ldell'elemento.

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

marginpuò essere utilizzato anche per altri element_textelementi (vedere ?theme), come axis.text.x, axis.text.ye title.


4
Questo metodo non sembra funzionare facet_grid, mentre la risposta suggerita da Adam B sì (cioè un'interruzione di riga usando \ n)
Anonimo

@ Anonimo Puoi fare un esempio in cui questo margin =argomento non funziona?
Didzis Elferts

L'ho provato con theme_bw. Spiacenti, pubblicare l'intero codice è illeggibile / disordinato ...
Anonimo

3
@Anonimo Se usi, theme_bw()allora theme_bw()dovrebbe essere usato prima della theme()funzione perché nei temi predefiniti c'è già un argomento per i titoli degli assi.
Didzis Elferts

Grazie per il chiarimento!
Anonimo il

97

Basato su questo post del forum: https://groups.google.com/forum/#!topic/ggplot2/mK9DR3dKIBU

Sembra che la cosa più semplice da fare sia aggiungere un'interruzione di riga (\ n) prima dell'asse xe dopo le etichette dell'asse y. Sembra molto più facile (anche se più stupido) rispetto alle soluzioni pubblicate sopra.

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

Spero che aiuti!


4
Di solito uso questo metodo, è molto più veloce e non richiede l'aggiunta di un'altra opzione a ggplot a meno che non sia necessario qualche aggiustamento specifico.
R. Prost
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.