Jak zmienić odstępy między elementami legendy w ggplot2


Aby zmienić odstępy między elementami legendy w ggplot2, możesz użyć następujących metod:

Metoda 1: Zmień odstępy w poziomie

 p+
  theme(legend. spacing . x = unit(1, ' cm '))

Metoda 2: Zmień odstępy w pionie

 p+
  theme(legend. spacing . y = unit(1, ' cm ')) +
  guides(fill = guide_legend(byrow = TRUE ))

Poniższe przykłady pokazują, jak w praktyce zastosować każdą metodę z następującą ramką danych:

 #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

Przykład 1: Zmień odstępy poziome pomiędzy elementami legendy

Poniższy kod pokazuje, jak utworzyć wykres rozrzutu w ggplot2 z poziomą legendą i domyślnymi odstępami:

 library (ggplot2)

#create scatterplot with default spacing in legend
ggplot(df, aes(x=assists, y=points, color=team)) +
  geom_point(size= 3 ) +
  theme(legend. position = ' bottom ')

Aby zwiększyć poziome odstępy między elementami legendy, możemy użyć argumentu legenda.spacing.x :

 library (ggplot2)

#create scatterplot with increased horizontal spacing in legend
ggplot(df, aes(x=assists, y=points, color=team)) +
  geom_point(size= 3 ) +
  theme(legend. position = ' bottom ',
        legend. spacing . x = unit(1, ' cm ')) 

ggplot2 zwiększył odstępy w poziomie pomiędzy elementami legendy

Należy zwrócić uwagę, że odstępy w poziomie pomiędzy elementami legendy zostały zwiększone.

Im większą wartość zastosujesz w funkcji unit() , tym większe będą odstępy między elementami.

Przykład 2: Zmień odstępy w pionie pomiędzy elementami podpisu

Poniższy kod pokazuje, jak utworzyć wykres rozrzutu w ggplot2 z legendą pionową i domyślnymi odstępami:

 library (ggplot2)

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

Aby zwiększyć odstępy w pionie pomiędzy elementami legendy, możemy użyć argumentu legenda.spacing.y :

 library (ggplot2)

#create scatterplot with increased vertical spacing in legend
ggplot(df, aes(x=assists, y=points, color=team)) +
  geom_point(size= 3 ) +
  theme(legend. spacing . y = unit(1, ' cm ')) +
  guides(fill = guide_legend(byrow = TRUE )) 

ggplot2 zwiększa odstępy w pionie pomiędzy elementami legendy

Należy zwrócić uwagę, że odstępy w pionie pomiędzy elementami legendy zostały zwiększone.

Im większą wartość zastosujesz w funkcji unit() , tym większe będą odstępy między elementami.

Uwaga : należy uwzględnić ostatnią linię zawierającą argument byrow = TRUE , w przeciwnym razie elementy legendy nie będą rozmieszczone zgodnie z oczekiwaniami.

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 *