Een handmatige legenda maken in ggplot2 (met voorbeelden)
Vaak wilt u misschien een handmatige legenda toevoegen aan een plot in ggplot2 met aangepaste kleuren, labels, titel, enz.
Gelukkig is dit eenvoudig te doen met de functie scale_color_manual() en het volgende voorbeeld laat zien hoe u dit moet doen.
Voorbeeld: een handmatige legenda maken in ggplot2
De volgende code laat zien hoe u drie gepaste regressielijnen in een plot in ggplot2 kunt plotten met een aangepaste handmatige legenda:
 library (ggplot2)
#create data frame
df <- data. frame (x=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
                 y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28))
#create plot with three fitted regression models
ggplot(df, aes(x, y)) +
  geom_point() +
  geom_smooth(se= FALSE , aes(color=' Linear ')) +
  geom_smooth(formula=y~poly(x, 2), se= FALSE , aes(color=' Quadratic ')) +
  geom_smooth(formula=y~poly(x, 3), se= FALSE , aes(color=' Cubic ')) +
  scale_color_manual(name=' Regression Model ',
                     breaks=c(' Linear ', ' Quadratic ', ' Cubic '),
                     values=c(' Cubic '=' pink ', ' Quadratic '=' blue ', ' Linear '=' purple ')) 

Met behulp van de functie scale_color_manual() konden we de volgende aspecten van de legenda specificeren:
- naam : De titel van de legende
- breaks : Labels in de legenda
- waarden : De kleuren in de legenda
Merk op dat we ook de functie thema() kunnen gebruiken om de lettergrootte van legenda-elementen te wijzigen:
 library (ggplot2)
#create data frame
df <- data. frame (x=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
                 y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28))
#create plot with three fitted regression models
ggplot(df, aes(x, y)) +
  geom_point() +
  geom_smooth(se= FALSE , aes(color=' Linear ')) +
  geom_smooth(formula=y~poly(x, 2), se= FALSE , aes(color=' Quadratic ')) +
  geom_smooth(formula=y~poly(x, 3), se= FALSE , aes(color=' Cubic ')) +
  scale_color_manual(name=' Regression Model ',
                     breaks=c(' Linear ', ' Quadratic ', ' Cubic '),
                     values=c(' Cubic '=' pink ', ' Quadratic '=' blue ', ' Linear '=' purple '))+
 theme(legend. title =element_text(size= 20 ),
       legend. text =element_text(size= 14 ))

Houd er rekening mee dat de lettergrootte van de titel- en bijschriftlabels is vergroot.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in ggplot2 uitvoert:
 Hoe de legendapositie in ggplot2 te veranderen
 Hoe de legendagrootte in ggplot2 te veranderen
 Hoe de titel van de legenda in ggplot2 te veranderen
 Hoe legendalabels in ggplot2 te veranderen
