Hoe teken je een legende buiten een plot in r
De eenvoudigste manier om een legenda buiten een basis-R-plot te tekenen, is door extra ruimte rechts van de plot toe te voegen met behulp van de volgende syntaxis:
by( mar =c(5, 4, 4, 8), xpd= TRUE )
Het volgende stapsgewijze voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Stap 1: Creëer de gegevens
Laten we eerst een aantal gegevens maken om mee te werken:
#create data frames df1 <- data. frame (x=c(1, 2, 3, 4, 5, 6, 7), y=c(2, 7, 19, 26, 24, 29, 31)) df2 <- data. frame (x=c(1, 2, 3, 4, 5, 6, 7), y=c(4, 4, 7, 9, 12, 13, 8))
Stap 2: Maak een plot met een legenda buiten de plot
Laten we vervolgens een pad maken en een legenda toevoegen buiten het pad in de rechterbovenhoek:
#add extra space to the right of the plot
by( mar =c(5, 4, 4, 8), xpd= TRUE )
#plot both data frames
plot(y ~ x, df1, pch =1, main=" Scatterplot with multiple groups ")
points(y ~ x, df2, pch =3)
#add legend outside of plot
legend(" topright ", inset =c(-0.2, 0), legend =c(" df1 "," df2 "), pch =c(1,3), title =" Data ")
Stap 3: Wijzig de legendalocatie
Het argument inset(x, y) kan worden gebruikt om de locatie van de legenda rechts van de plot te bepalen. We kunnen bijvoorbeeld het argument x negatiever maken om de legenda nog verder naar rechts te duwen:
#add extra space to the right of the plot
by( mar =c(5, 4, 4, 8), xpd= TRUE )
#plot both data frames
plot(y ~ x, df1, pch =1, main=" Scatterplot with multiple groups ")
points(y ~ x, df2, pch =3)
#add legend outside of plot
legend(" topright ", inset =c(-0.3, 0), legend =c(" df1 "," df2 "), pch =c(1,3), title =" Data ")
We kunnen het y- argument ook positiever maken om de legende lager te plaatsen:
#add extra space to the right of the plot
by( mar =c(5, 4, 4, 8), xpd= TRUE )
#plot both data frames
plot(y ~ x, df1, pch =1, main=" Scatterplot with multiple groups ")
points(y ~ x, df2, pch =3)
#add legend outside of plot
legend(" topright ", inset =c(-0.3, .5), legend =c(" df1 "," df2 "), pch =c(1,3), title =" Data ")
Voel je vrij om de waarden van het argument inset(x, y) te wijzigen om de locatie van de legenda te wijzigen.
Op deze pagina vindt u meer R-tutorials.