Como criar uma legenda no ggplot2 com múltiplas linhas
Você pode usar a seguinte sintaxe para criar uma legenda em ggplot2 com múltiplas linhas:
ggplot(df, aes(x=x_var, y=y_var, color=group_var)) + geom_point() + guides(color=guide_legend(nrow= 2 , byrow= TRUE ))
O valor do argumento nrow especifica o número de linhas a serem usadas na legenda.
O exemplo a seguir mostra como usar essa sintaxe na prática.
Exemplo: crie uma legenda no ggplot2 com múltiplas linhas
Suponha que temos o seguinte quadro de dados em R que contém informações sobre vários jogadores de basquete:
#create data frame df <- data. frame (team=c('Mavs', 'Heat', 'Nets', 'Lakers', 'Suns', 'Cavs'), points=c(24, 20, 34, 39, 28, 29), assists=c(5, 7, 6, 9, 12, 13)) #view data frame df team points assists 1 Mavs 24 5 2 Heat 20 7 3 Nets 34 6 4 Lakers 39 9 5 Suns 28 12 6 Cavs 29 13
Se criarmos um gráfico de dispersão no ggplot2 sem especificar o número de linhas a serem usadas na legenda, o ggplot2 colocará, por padrão, um rótulo em cada linha:
library (ggplot2)
#create default scatterplot
ggplot(df, aes(x=assists, y=points, color=team)) +
geom_point(size= 3 )
Para criar uma legenda com múltiplas linhas, precisamos usar a função guides() com o argumento nrow :
library (ggplot2)
#create scatterplot with two rows in legend
ggplot(df, aes(x=assists, y=points, color=team)) +
geom_point(size= 3 ) +
guides(color=guide_legend(nrow= 2 , byrow= TRUE ))
Observe que a legenda agora tem duas linhas.
Se também quisermos alterar a localização da legenda, podemos usar a função theme() com o argumento legend.position :
library (ggplot2)
#create scatterplot with two rows in legend
ggplot(df, aes(x=assists, y=points, color=team)) +
geom_point(size= 3 ) +
theme(legend. position = ' bottom ') +
guides(color=guide_legend(nrow= 2 , byrow= TRUE ))
A legenda agora está localizada na parte inferior do gráfico e possui duas linhas.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras operações comuns no ggplot2:
Como alterar o título da legenda no ggplot2
Como alterar o tamanho da legenda no ggplot2
Como alterar a posição da legenda no ggplot2