Jak zmienić tytuł legendy w ggplot2 (z przykładami)
Istnieją dwa proste sposoby zmiany tytułu legendy na wykresie ggplot2:
Metoda 1: Użyj laboratoriów()
ggplot(data, aes(x=x_var, y=y_var, fill=fill_var)) +
geom_boxplot() +
labs(fill=' Legend Title ')
Metoda 2: Użyj funkcji 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 '))
W tym samouczku przedstawiono przykłady wykorzystania obu tych metod w praktyce.
Metoda 1: Zmień tytuł podpisu za pomocą labs()
Poniższy kod pokazuje, jak utworzyć pogrupowany wykres pudełkowy dla danego zbioru danych:
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()
Domyślnie ggplot2 używa nazwy zmiennej w zestawie danych jako tytułu legendy. Możemy jednak użyć funkcji labs() , aby łatwo ją zmodyfikować:
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 ')
Możemy także dodać podział wiersza w tytule podpisu, umieszczając \ nw miejscu, w którym chcemy rozpoczynać nowy wiersz:
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 ')
Metoda 2: Zmień tytuł legendy za pomocą funkcji Scale_fill_manual()
Możemy również użyć funkcjiscale_fill_manual () , aby jednocześnie określić tytuł podpisu i wektor wartości kolorów do użycia:
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 '))
Należy pamiętać, że wartości kolorów mogą być nazwami lub kodami kolorów w formacie szesnastkowym.
Dodatkowe zasoby
Kompletny przewodnik po najlepszych motywach ggplot2
Kompletny przewodnik po tytułach ggplot2
Jak tworzyć wykresy obok siebie w ggplot2