Aumente a distância entre o texto e o título no eixo y


107

O título do eixo y aparece muito perto do texto do eixo.

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

saída ggplot

Tentei alterar o valor de muitos parâmetros com, theme()mas nenhum parece ajudar.

Respostas:


171

De ggplot2 2.0.0você pode usar o margin =argumento de element_text()para alterar a distância entre o título do eixo e os números. Definir os valores da marginsobre top, right, bottom, e llado EFT do elemento.

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

margintambém pode ser usado para outros element_textelementos (consulte Recursos ?theme), como axis.text.x, axis.text.ye title.


4
Este método não parece funcionar facet_grid, enquanto a resposta sugerida por Adam B sim (ou seja, uma quebra de linha usando \ n)
Anônimo

@Anonymous Você pode dar um exemplo em que este margin =argumento não funciona?
Didzis Elferts

Eu tentei com theme_bw. Desculpe, postar o código inteiro está ilegível / confuso ...
Anônimo

3
@Anonymous Se você usar, theme_bw()então theme_bw()deve ser usado antes da theme()função, porque em temas predefinidos já existe um argumento para títulos de eixo.
Didzis Elferts

Obrigado pelo esclarecimento!
Anônimo

97

Com base nesta postagem do fórum: https://groups.google.com/forum/#!topic/ggplot2/mK9DR3dKIBU

Parece que a coisa mais fácil a fazer é adicionar uma quebra de linha (\ n) antes do eixo xe após os rótulos do eixo y. Parece muito mais fácil (embora mais burro) do que as soluções postadas acima.

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

Espero que ajude!


4
Normalmente uso este método, é muito mais rápido e não requer a adição de outra opção ao ggplot, a menos que eu precise de alguns ajustes específicos.
R. Prost
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.