Come creare una legenda orizzontale in base r (2 metodi)
È possibile utilizzare i seguenti metodi per creare una legenda orizzontale in un grafico base R:
Metodo 1: utilizzare l’argomento orizzontale
legend(' bottom ', fill=fill_cols, legend=c(' A ', ' B ', ' C ', ' D ', ' E ', ' F '), horiz= TRUE , inset=c(0, -.1), xpd= TRUE )
Questo particolare esempio crea una legenda orizzontale sotto la trama in cui ogni elemento della legenda si trova sulla stessa riga.
Metodo 2: utilizzare l’argomento ncol
legend(' bottom ', fill=fill_cols, legend=c(' A ', ' B ', ' C ', ' D ', ' E ', ' F '), ncol=3, inset=c(0, -.15), xpd= TRUE )
Questo particolare esempio crea una legenda orizzontale sotto la trama con tre colonne.
L’argomento insert(x, y) controlla la posizione della legenda. Usando valori negativi per il valore y, possiamo spingere la legenda fuori dal grafico.
L’argomento xpd=TRUE ci consente di posizionare la legenda all’esterno del grafico pur rimanendo visibile nell’area del grafico.
Gli esempi seguenti mostrano come utilizzare ciascun metodo nella pratica.
Esempio 1: usa l’argomento horiz per creare una legenda orizzontale in base R
Il codice seguente mostra come utilizzare l’argomento horiz=TRUE nella funzione legend() per creare una legenda orizzontale nella parte inferiore di un grafico base R:
#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 )
Si noti che è stata creata una legenda orizzontale posizionata nella parte inferiore del grafico.
Sentiti libero di giocare con i valori dell’argomento inserito per regolare anche la posizione della legenda.
Ad esempio, possiamo rendere il valore y dell’argomento inserito ancora più negativo per spingere la legenda ancora più in basso:
#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 )
Da notare che la legenda orizzontale è stata spostata ancora più in basso sotto il grafico.
Esempio 2: usa l’argomento ncol per creare una legenda orizzontale in base R
Il codice seguente mostra come utilizzare l’argomento ncol nella funzione legend() per creare una legenda orizzontale con tre colonne nella parte inferiore di un grafico base R:
#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 )
Si noti che è stata creata una legenda orizzontale a tre colonne, posizionata nella parte inferiore del grafico.
Sentiti libero di modificare il valore dell’argomento ncol per creare una legenda con un numero diverso di colonne.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in R:
Come modificare la dimensione della legenda nel grafico Base R
Come disegnare una leggenda al di fuori di una trama in R
Come modificare la posizione della legenda nei grafici R di base