Часто вы можете захотеть добавить ручную легенду к графику в ggplot2 с пользовательскими цветами, метками, заголовком и т. д.
К счастью, это легко сделать с помощью функции scale_color_manual() , и в следующем примере показано, как это сделать.
Пример: создание ручной легенды в ggplot2
В следующем коде показано, как построить три подогнанные линии регрессии на графике в ggplot2 с пользовательской ручной легендой:
library (ggplot2)
#create data frame
df <- data.frame(x=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28))
#create plot with three fitted regression models
ggplot(df, aes(x, y)) +
geom_point() +
geom_smooth(se= FALSE , aes(color='Linear')) +
geom_smooth(formula=y~poly(x, 2), se= FALSE , aes(color='Quadratic')) +
geom_smooth(formula=y~poly(x, 3), se= FALSE , aes(color='Cubic')) +
scale_color_manual(name='Regression Model',
breaks=c('Linear', 'Quadratic', 'Cubic'),
values=c('Cubic '='pink', 'Quadratic '='blue', 'Linear '='purple'))
![](https://www.codecamp.ru/content/images/2021/10/manual1.png)
Используя функцию scale_color_manual() , мы смогли указать следующие аспекты легенды:
- имя : Название легенды
- breaks : Метки в легенде
- values : цвета в легенде
Обратите внимание, что мы также можем использовать функцию theme() для изменения размера шрифта элементов в легенде:
library (ggplot2)
#create data frame
df <- data.frame(x=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28))
#create plot with three fitted regression models
ggplot(df, aes(x, y)) +
geom_point() +
geom_smooth(se= FALSE , aes(color='Linear')) +
geom_smooth(formula=y~poly(x, 2), se= FALSE , aes(color='Quadratic')) +
geom_smooth(formula=y~poly(x, 3), se= FALSE , aes(color='Cubic')) +
scale_color_manual(name='Regression Model',
breaks=c('Linear', 'Quadratic', 'Cubic'),
values=c('Cubic '='pink', 'Quadratic '='blue', 'Linear '='purple'))+
theme(legend.title =element_text(size= 20 ),
legend.text =element_text(size= 14 ))
![](https://www.codecamp.ru/content/images/2021/10/manual3.png)
Обратите внимание, что размер шрифта заголовка и меток в легенде был увеличен.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в ggplot2:
Как изменить положение легенды в ggplot2
Как изменить размер легенды в ggplot2
Как изменить название легенды в ggplot2
Как изменить метки легенды в ggplot2