Come modificare la spaziatura tra gli elementi della legenda in ggplot2
Puoi utilizzare i seguenti metodi per modificare la spaziatura tra gli elementi della legenda in ggplot2:
Metodo 1: modificare la spaziatura orizzontale
p+
theme(legend. spacing . x = unit(1, ' cm '))
Metodo 2: modificare la spaziatura verticale
p+
theme(legend. spacing . y = unit(1, ' cm ')) +
guides(fill = guide_legend(byrow = TRUE ))
I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con il seguente frame di dati:
#create data frame df <- data. frame (team=c('Mavs', 'Heat', 'Nets', 'Lakers', 'Suns', 'Cavs'), points=c(24, 20, 34, 39, 28, 29), assists=c(5, 7, 6, 9, 12, 13)) #view data frame df team points assists 1 Mavs 24 5 2 Heat 20 7 3 Nets 34 6 4 Lakers 39 9 5 Suns 28 12 6 Cavs 29 13
Esempio 1: modificare la spaziatura orizzontale tra gli elementi della legenda
Il codice seguente mostra come creare un grafico a dispersione in ggplot2 con una legenda orizzontale con spaziatura predefinita:
library (ggplot2)
#create scatterplot with default spacing in legend
ggplot(df, aes(x=assists, y=points, color=team)) +
geom_point(size= 3 ) +
theme(legend. position = ' bottom ')
Per aumentare la spaziatura orizzontale tra gli elementi della legenda, possiamo utilizzare l’argomento legend.spacing.x :
library (ggplot2)
#create scatterplot with increased horizontal spacing in legend
ggplot(df, aes(x=assists, y=points, color=team)) +
geom_point(size= 3 ) +
theme(legend. position = ' bottom ',
legend. spacing . x = unit(1, ' cm '))
Tieni presente che la spaziatura orizzontale tra gli elementi della legenda è aumentata.
Maggiore è il valore utilizzato nella funzione unit() , maggiore è la spaziatura tra gli elementi.
Esempio 2: modifica la spaziatura verticale tra gli elementi della didascalia
Il codice seguente mostra come creare un grafico a dispersione in ggplot2 con una legenda verticale con spaziatura predefinita:
library (ggplot2)
#create scatterplot with default spacing in legend
ggplot(df, aes(x=assists, y=points, color=team)) +
geom_point(size= 3 )
Per aumentare la spaziatura verticale tra gli elementi della legenda, possiamo utilizzare l’argomento legend.spacing.y :
library (ggplot2)
#create scatterplot with increased vertical spacing in legend
ggplot(df, aes(x=assists, y=points, color=team)) +
geom_point(size= 3 ) +
theme(legend. spacing . y = unit(1, ' cm ')) +
guides(fill = guide_legend(byrow = TRUE ))
Tieni presente che la spaziatura verticale tra gli elementi della legenda è aumentata.
Maggiore è il valore utilizzato nella funzione unit() , maggiore è la spaziatura tra gli elementi.
Nota : è necessario includere l’ultima riga che utilizza l’argomento byrow = TRUE , altrimenti gli elementi della legenda non verranno spaziati come previsto.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre operazioni comuni in ggplot2:
Come cambiare il titolo della legenda in ggplot2
Come modificare la dimensione della legenda in ggplot2
Come cambiare la posizione della legenda in ggplot2