Como usar hjust e apenas mover elementos no ggplot2


Você pode usar os argumentos hjust e vjust para mover elementos horizontalmente e verticalmente, respectivamente, no ggplot2.

Os exemplos a seguir mostram como usar hjust e vjust em diferentes cenários.

Exemplo 1: Mover a posição do título em ggplot2

O código a seguir mostra como criar um gráfico de dispersão em ggplot2 com um título na posição padrão (alinhado à esquerda):

 library (ggplot2)

#create scatter plot with title in default position
ggplot(data=mtcars, aes(x=mpg, y=wt)) +
  geom_point() +
  ggtitle(" Plot Title ") 

E o código a seguir mostra como centralizar o título usando hjust=0.5 :

 library (ggplot2)

#create scatter plot with title center-aligned
ggplot(data=mtcars, aes(x=mpg, y=wt)) +
  geom_point() +
  ggtitle(" Plot Title ") +
  theme(plot. title = element_text(hjust= .5 )) 

Nota : Você também pode usar hjust=1 para alinhar o título à direita.

Exemplo 2: Mover a posição do rótulo do eixo em ggplot2

O código a seguir mostra como criar um gráfico de barras no ggplot2 no qual os rótulos do eixo x são girados 90 graus para facilitar a leitura:

 library (ggplot2)

#create data frame
df = data. frame (team=c('The Amazing Amazon Anteaters',
                       'The Rowdy Racing Raccoons',
                       'The Crazy Camping Cobras'),
                dots=c(14, 22, 11))

#create bar plot to visualize points scored by each team
ggplot(data=df, aes(x=team, y=points)) +
  geom_bar(stat=' identity ') +
  theme(axis. text . x = element_text(angle= 90 )) 

Podemos usar os argumentos hjust e vjust para ajustar os rótulos do eixo x para que eles se alinhem mais estreitamente com as marcas do eixo x:

 library (ggplot2)

#create data frame
df = data. frame (team=c('The Amazing Amazon Anteaters',
                       'The Rowdy Racing Raccoons',
                       'The Crazy Camping Cobras'),
                dots=c(14, 22, 11))

#create bar plot to visualize points scored by each team
ggplot(data=df, aes(x=team, y=points)) +
  geom_bar(stat=' identity ') +
  theme(axis. text . x = element_text(angle= 90 , vjust= .5 , hjust= 1 ) 

Exemplo 3: Mover a posição do texto em ggplot2

O código a seguir mostra como criar um gráfico de dispersão em ggplot2 com texto anotado para cada ponto do gráfico:

 library (ggplot2)

#create data frame
df <- data. frame (player=c('Brad', 'Ty', 'Spencer', 'Luke', 'Max'),
                 dots=c(17, 5, 12, 20, 22),
                 assists=c(4, 3, 7, 7, 5))

#create scatter plot with annotated labels
ggplot(df) +
  geom_point(aes(x=points, y=assists)) + 
  geom_text(aes(x=points, y=assists, label=player)) 

Podemos usar o argumento vjust para mover elementos de texto verticalmente para que sejam mais fáceis de ler:

 library (ggplot2)

#create data frame
df <- data. frame (player=c('Brad', 'Ty', 'Spencer', 'Luke', 'Max'),
                 dots=c(17, 5, 12, 20, 22),
                 assists=c(4, 3, 7, 7, 5))

#create scatter plot with annotated labels
ggplot(df) +
  geom_point(aes(x=points, y=assists)) + 
  geom_text(aes(x=points, y=assists, label=player), vjust= -.6 ) 

Também poderíamos usar um valor positivo para v apenas para mover os elementos do texto para baixo verticalmente:

 library (ggplot2)

#create data frame
df <- data. frame (player=c('Brad', 'Ty', 'Spencer', 'Luke', 'Max'),
                 dots=c(17, 5, 12, 20, 22),
                 assists=c(4, 3, 7, 7, 5))

#create scatter plot with annotated labels
ggplot(df) +
  geom_point(aes(x=points, y=assists)) + 
  geom_text(aes(x=points, y=assists, label=player), vjust= 1.2 ) 

O texto anotado agora está localizado abaixo de cada ponto do gráfico.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns no ggplot2:

Como alterar o título da legenda no ggplot2
Como girar rótulos de eixo no ggplot2
Como corrigir em R: Não é possível encontrar a função “ggplot”

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *