Як змінити назву легенди в ggplot2 (з прикладами)
Існує два простих способи змінити назву легенди на діаграмі ggplot2:
Спосіб 1: Використовуйте labs()
ggplot(data, aes(x=x_var, y=y_var, fill=fill_var)) +
geom_boxplot() +
labs(fill=' Legend Title ')
Спосіб 2: Використовуйте 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 '))
Цей підручник показує приклади використання обох цих методів на практиці.
Спосіб 1: змініть заголовок підпису за допомогою labs()
У наступному коді показано, як створити згруповану коробкову діаграму для певного набору даних:
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()
За замовчуванням ggplot2 використовує назву змінної в наборі даних як назву легенди. Однак ми можемо використовувати функцію labs() , щоб легко її змінити:
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 ')
Ми також можемо додати розрив рядка в заголовок підпису, розмістивши \ n, де ми хочемо починати новий рядок:
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 ')
Спосіб 2: змініть назву легенди за допомогою scale_fill_manual()
Ми також можемо використовувати функцію scale_fill_manual() , щоб одночасно вказати заголовок підпису та вектор значень кольорів для використання:
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 '))
Зверніть увагу, що значення кольорів можуть бути іменами або шістнадцятковими кодами кольорів.
Додаткові ресурси
Повний посібник із найкращих тем ggplot2
Повний посібник із назв ggplot2
Як створити діаграми поруч у ggplot2