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”