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

Legenda buiten een R-basisplot

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

Locatie van de legende buiten het perceel in R

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

Basisplot in R met legenda buiten het plot aan de rechterkant

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.

Einen Kommentar hinzufügen

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