Hoe u de afstand tussen legenda-items in ggplot2 kunt wijzigen


U kunt de volgende methoden gebruiken om de afstand tussen legenda-elementen in ggplot2 te wijzigen:

Methode 1: Wijzig de horizontale afstand

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

Methode 2: Wijzig de verticale afstand

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

De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken met het volgende dataframe:

 #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

Voorbeeld 1: Wijzig de horizontale afstand tussen legenda-elementen

De volgende code laat zien hoe u een spreidingsdiagram maakt in ggplot2 met een horizontale legenda met standaardafstand:

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

Om de horizontale afstand tussen legenda-elementen te vergroten, kunnen we het argument legend.spacing.x gebruiken:

 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 verhoogde de horizontale afstand tussen legenda-elementen

Merk op dat de horizontale afstand tussen legenda-elementen is toegenomen.

Hoe groter de waarde die u gebruikt in de functie unit() , hoe groter de afstand tussen de elementen.

Voorbeeld 2: Wijzig de verticale afstand tussen ondertitelingselementen

De volgende code laat zien hoe u een spreidingsdiagram maakt in ggplot2 met een verticale legenda met standaardafstand:

 library (ggplot2)

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

Om de verticale afstand tussen legenda-elementen te vergroten, kunnen we het argument legend.spacing.y gebruiken:

 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 vergroot de verticale afstand tussen legenda-elementen

Merk op dat de verticale afstand tussen legenda-elementen is toegenomen.

Hoe groter de waarde die u gebruikt in de functie unit() , hoe groter de afstand tussen de elementen.

Opmerking : u moet de laatste regel opnemen die het argument byrow = TRUE gebruikt, anders worden de legenda-elementen niet op de verwachte afstand van elkaar geplaatst.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in ggplot2 uitvoert:

Hoe de titel van de legenda in ggplot2 te veranderen
Hoe de legendagrootte in ggplot2 te veranderen
Hoe de legendapositie in ggplot2 te veranderen

Einen Kommentar hinzufügen

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