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 '))
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 ))
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