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

ggplot2 aumentata la spaziatura orizzontale tra gli elementi della legenda

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

ggplot2 aumenta la spaziatura verticale tra gli elementi della legenda

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

Aggiungi un commento

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