Come disegnare una leggenda al di fuori di una trama in r


Il modo più semplice per disegnare una legenda al di fuori di un grafico base R è aggiungere ulteriore spazio a destra del grafico utilizzando la seguente sintassi:

 by( mar =c(5, 4, 4, 8), xpd= TRUE )

Il seguente esempio passo passo mostra come utilizzare questa sintassi nella pratica.

Passaggio 1: creare i dati

Innanzitutto, creiamo alcuni dati con cui lavorare:

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

Passaggio 2: crea una trama con una legenda esterna alla trama

Successivamente, creiamo un percorso e aggiungiamo una legenda all’esterno del percorso nell’angolo in alto a destra:

 #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 al di fuori di un grafico base R

Passaggio 3: modifica la posizione della legenda

L’argomento inset(x, y) può essere utilizzato per controllare la posizione della legenda a destra del grafico. Ad esempio, possiamo rendere l’argomento x più negativo per spostare la legenda ancora più a destra:

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

Posizione della leggenda fuori dalla trama in R

Possiamo anche rendere l’argomento y più positivo per abbassare la legenda:

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

Trama di base in R con legenda esterna alla trama a destra

Sentiti libero di modificare i valori dell’argomento insert(x, y) per cambiare la posizione della legenda.

Puoi trovare altri tutorial su R in questa pagina .

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *