Pode utilizar a seguinte sintaxe para criar uma legenda no ggplot2 com várias 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 para o fila especifica o número de linhas a utilizar na legenda.

O exemplo seguinte mostra como utilizar esta sintaxe na prática.

Exemplo: Criar legenda no ggplot2 com várias linhas

Suponhamos que temos a seguinte estrutura de dados em R que contém informações sobre vários jogadores de basquetebol:

 #criar quadro de dados 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)) #ver quadro de dados 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 utilizar na legenda, o ggplot2 colocará uma etiqueta em cada linha por defeito:

 library (ggplot2) #criar gráfico de dispersão por defeito ggplot(df, aes(x=assists, y=points, color=team)) + geom_point(size= 3 ) 

Para criar uma legenda com várias linhas, temos de utilizar a função guias() com a função fila argumento:

 library (ggplot2) #criar gráfico de dispersão com duas linhas na legenda ggplot(df, aes(x=assists, y=points, color=team)) + geom_point(size= 3 ) + guides(color=guide_legend(nrow= 2 , byrow= TRUE )) 

Repare que a legenda tem agora duas linhas.

Se quisermos alterar também a localização da legenda, podemos utilizar a função tema() com a função legenda.posição argumento:

 library (ggplot2) #criar gráfico de dispersão com duas linhas na legenda 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 está agora localizada na parte inferior do gráfico e tem duas linhas.