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