Как изменить заголовок легенды в 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