Jak utworzyć legendę w ggplot2 z wieloma liniami


Możesz użyć następującej składni, aby utworzyć legendę w ggplot2 z wieloma liniami:

 ggplot(df, aes(x=x_var, y=y_var, color=group_var)) +
geom_point() +
  guides(color=guide_legend(nrow= 2 , byrow= TRUE )) 

Wartość argumentu nrow określa liczbę wierszy używanych w legendzie.

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: utwórz legendę w ggplot2 z wieloma liniami

Załóżmy, że mamy następującą ramkę danych w R, która zawiera informacje o różnych koszykarzach:

 #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

Jeśli utworzymy wykres rozrzutu w ggplot2 bez określenia liczby linii do użycia w legendzie, ggplot2 domyślnie umieści etykietę w każdej linii:

 library (ggplot2)

#create default scatterplot
ggplot(df, aes(x=assists, y=points, color=team)) +
  geom_point(size= 3 )

Aby utworzyć legendę składającą się z wielu linii, musimy użyć funkcji Guides() z argumentem 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 )) 

Zauważ, że legenda ma teraz dwie linie.

Jeśli chcemy również zmienić lokalizację legendy, możemy skorzystać z funkcji motywu() z argumentem legenda.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 )) 

Legenda znajduje się teraz na dole działki i ma dwie linie.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje w ggplot2:

Jak zmienić tytuł legendy w ggplot2
Jak zmienić rozmiar legendy w ggplot2
Jak zmienić pozycję legendy w ggplot2

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *