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

ggplot2 vergrößerte den horizontalen Abstand zwischen Legendenelementen

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

ggplot2 vergrößert den vertikalen Abstand zwischen Legendenelementen

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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert