So ändern sie den abstand zwischen legendenelementen in ggplot2
Sie können die folgenden Methoden verwenden, um den Abstand zwischen Legendenelementen in ggplot2 zu ändern:
Methode 1: Ändern Sie den horizontalen Abstand
p+
theme(legend. spacing . x = unit(1, ' cm '))
Methode 2: Ändern Sie den vertikalen Abstand
p+
theme(legend. spacing . y = unit(1, ' cm ')) +
guides(fill = guide_legend(byrow = TRUE ))
Die folgenden Beispiele zeigen, wie jede Methode in der Praxis mit dem folgenden Datenrahmen verwendet wird:
#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
Beispiel 1: Ändern Sie den horizontalen Abstand zwischen Legendenelementen
Der folgende Code zeigt, wie man in ggplot2 ein Streudiagramm mit einer horizontalen Legende mit Standardabstand erstellt:
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 ')
Um den horizontalen Abstand zwischen Legendenelementen zu vergrößern, können wir das Argument legend.spacing.x verwenden:
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 '))
Beachten Sie, dass der horizontale Abstand zwischen den Legendenelementen größer geworden ist.
Je größer der Wert ist, den Sie in der Funktion „unit()“ verwenden, desto größer ist der Abstand zwischen den Elementen.
Beispiel 2: Ändern Sie den vertikalen Abstand zwischen Beschriftungselementen
Der folgende Code zeigt, wie man in ggplot2 ein Streudiagramm mit einer vertikalen Legende mit Standardabstand erstellt:
library (ggplot2)
#create scatterplot with default spacing in legend
ggplot(df, aes(x=assists, y=points, color=team)) +
geom_point(size= 3 )
Um den vertikalen Abstand zwischen Legendenelementen zu vergrößern, können wir das Argument legend.spacing.y verwenden:
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 ))
Beachten Sie, dass der vertikale Abstand zwischen den Legendenelementen größer geworden ist.
Je größer der Wert ist, den Sie in der Funktion „unit()“ verwenden, desto größer ist der Abstand zwischen den Elementen.
Hinweis : Sie müssen die letzte Zeile einschließen, die das Argument byrow = TRUE verwendet, andernfalls werden die Legendenelemente nicht wie erwartet beabstandet.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere gängige Vorgänge in ggplot2 ausführen:
So ändern Sie den Legendentitel in ggplot2
So ändern Sie die Legendengröße in ggplot2
So ändern Sie die Legendenposition in ggplot2