Een horizontale legenda maken in base r (2 methoden)
U kunt de volgende methoden gebruiken om een horizontale legenda te maken in een basis-R-plot:
Methode 1: Gebruik het horizontale argument
legend(' bottom ', fill=fill_cols, legend=c(' A ', ' B ', ' C ', ' D ', ' E ', ' F '), horiz= TRUE , inset=c(0, -.1), xpd= TRUE )
Dit specifieke voorbeeld creëert een horizontale legenda onder de plot waarin elk element van de legenda zich op dezelfde lijn bevindt.
Methode 2: Gebruik het ncol-argument
legend(' bottom ', fill=fill_cols, legend=c(' A ', ' B ', ' C ', ' D ', ' E ', ' F '), ncol=3, inset=c(0, -.15), xpd= TRUE )
Dit specifieke voorbeeld creëert een horizontale legenda onder de plot met drie kolommen.
Het argument inzet(x, y) bepaalt de locatie van de legenda. Door negatieve waarden voor de y-waarde te gebruiken, kunnen we de legenda buiten de plot naar beneden duwen.
Met het argument xpd=TRUE kunnen we de legenda buiten de plot plaatsen, terwijl deze zichtbaar blijft in het plotgebied.
De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken.
Voorbeeld 1: gebruik het horiz-argument om een horizontale legenda in basis R te maken
De volgende code laat zien hoe u het argument horiz=TRUE in de functie legend() gebruikt om een horizontale legenda te maken onder aan een basis-R-plot:
#create vector of values
data <- c(4, 10, 7, 5, 4, 3)
#specify fill colors to use
fill_cols <- c(' red ', ' pink ', ' blue ', ' green ', ' purple ', ' brown ')
#create bar plot to visualize values in vector
barplot(data, col=fill_cols)
#add legend to bottom of plot
legend(' bottom ', fill=fill_cols, legend=c(' A ', ' B ', ' C ', ' D ', ' E ', ' F '),
horiz= TRUE , inset=c(0, -.1), xpd= TRUE )
Merk op dat er een horizontale legenda is gemaakt en onderaan de plot is geplaatst.
Voel je vrij om met de waarden van het inzetargument te spelen om ook de locatie van de legenda aan te passen.
We kunnen bijvoorbeeld de y-waarde van het inzetargument nog negatiever maken om de legenda nog lager te maken:
#create vector of values
data <- c(4, 10, 7, 5, 4, 3)
#specify fill colors to use
fill_cols <- c(' red ', ' pink ', ' blue ', ' green ', ' purple ', ' brown ')
#create bar plot to visualize values in vector
barplot(data, col=fill_cols)
#add legend to bottom of plot
legend(' bottom ', fill=fill_cols, legend=c(' A ', ' B ', ' C ', ' D ', ' E ', ' F '),
horiz= TRUE , inset=c(0, -.2), xpd= TRUE )
Merk op dat de horizontale legenda nog lager onder de plot is geplaatst.
Voorbeeld 2: gebruik het ncol-argument om een horizontale legenda in basis R te maken
De volgende code laat zien hoe u het argument ncol in de functie legend() kunt gebruiken om een horizontale legenda te maken met drie kolommen onder aan een basis-R-plot:
#create vector of values
data <- c(4, 10, 7, 5, 4, 3)
#specify fill colors to use
fill_cols <- c(' red ', ' pink ', ' blue ', ' green ', ' purple ', ' brown ')
#create bar plot to visualize values in vector
barplot(data, col=fill_cols)
#add legend to bottom of plot
legend(' bottom ', fill=fill_cols, legend=c(' A ', ' B ', ' C ', ' D ', ' E ', ' F '),
ncol=3, inset=c(0, -.15), xpd= TRUE )
Merk op dat er een horizontale legenda met drie kolommen is gemaakt en onderaan de plot is geplaatst.
Voel je vrij om de waarde van het ncol- argument te wijzigen om een legenda met een ander aantal kolommen te maken.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:
Hoe u de legendagrootte in Base R-plot kunt wijzigen
Hoe teken je een legende buiten een plot in R
Hoe u de positie van de legenda in standaard R-plots kunt wijzigen