Come modificare il titolo della legenda in ggplot2 (con esempi)
Esistono due semplici modi per modificare il titolo della legenda in un grafico ggplot2:
Metodo 1: utilizzare labs()
ggplot(data, aes(x=x_var, y=y_var, fill=fill_var)) +
geom_boxplot() +
labs(fill=' Legend Title ')
Metodo 2: utilizzare scale_fill_manual()
ggplot(data, aes(x=x_var, y=y_var, fill=fill_var)) + geom_boxplot() + scale_fill_manual(' Legend Title ', values=c(' color1 ', ' color2 '))
Questo tutorial mostra esempi di come utilizzare entrambi questi metodi nella pratica.
Metodo 1: modifica il titolo della didascalia utilizzando labs()
Il codice seguente mostra come creare un boxplot raggruppato per un determinato set di dati:
library (ggplot2) #create dataset data <- data.frame(team= rep (c('A', 'B', 'C'), each =50), program= rep (c('low', 'high'), each =25), values= seq (1:150)+ sample (1:100, 150, replace= TRUE )) #create boxplot ggplot(data, aes(x=team, y=values, fill=program)) + geom_boxplot()
Per impostazione predefinita, ggplot2 utilizza il nome della variabile nel set di dati come titolo della legenda. Tuttavia, possiamo usare la funzione labs() per modificarlo facilmente:
library (ggplot2) #create dataset data <- data.frame(team= rep (c('A', 'B', 'C'), each =50), program= rep (c('low', 'high'), each =25), values= seq (1:150)+ sample (1:100, 150, replace= TRUE )) #create boxplot ggplot(data, aes(x=team, y=values, fill=program)) + geom_boxplot() + labs(fill=' Program Type ')
Possiamo anche aggiungere un’interruzione di riga nel titolo della didascalia inserendo \ ndove vogliamo che inizi la nuova riga:
library (ggplot2) #create dataset data <- data.frame(team= rep (c('A', 'B', 'C'), each =50), program= rep (c('low', 'high'), each =25), values= seq (1:150)+ sample (1:100, 150, replace= TRUE )) #create boxplot ggplot(data, aes(x=team, y=values, fill=program)) + geom_boxplot() + labs(fill=' Program\nType ')
Metodo 2: modifica il titolo della legenda utilizzando scale_fill_manual()
Possiamo anche utilizzare la funzione scale_fill_manual() per specificare contemporaneamente un titolo di didascalia e un vettore di valori di colore da utilizzare:
library (ggplot2) #create dataset data <- data.frame(team= rep (c('A', 'B', 'C'), each =50), program= rep (c('low', 'high'), each =25), values= seq (1:150)+ sample (1:100, 150, replace= TRUE )) #create boxplot ggplot(data, aes(x=team, y=values, fill=program)) + geom_boxplot() + scale_fill_manual(' Program Type ', values=c(' pink ',' blue '))
Tieni presente che i valori dei colori possono essere nomi o codici colore esadecimali.
Risorse addizionali
Una guida completa ai migliori temi ggplot2
La guida completa ai titoli ggplot2
Come creare grafici affiancati in ggplot2