Вы можете использовать следующий синтаксис, чтобы изменить размер элементов в легенде ggplot2:
ggplot(data, aes (x=x, y=y)) +
theme( legend.key.size = unit(1, 'cm'), #change legend key size
legend.key.height = unit(1, 'cm'), #change legend key height
legend.key.width = unit(1, 'cm'), #change legend key width
legend.title = element_text(size=14), #change legend title font size
legend.text = element_text(size=10)) #change legend text font size
В следующих примерах показано, как использовать эти аргументы на практике.
Изменить размер ключа легенды ggplot2
Предположим, мы создаем следующуюсгруппированную гистограмму, используя ggplot2:
library (ggplot2)
#create data frame
df <- data.frame(team=rep(c('A', 'B', 'C'), each =3),
position=rep(c('Guard', 'Forward', 'Center'), times =3),
points=c(14, 8, 8, 16, 3, 7, 17, 22, 26))
#create grouped barplot
ggplot(df, aes (fill=position, y=points, x=team)) +
geom_bar(position='dodge', stat='identity')

По умолчанию ggplot2 предоставляет легенду справа от графика.
В следующем коде показано, как использовать аргумент legend.key.size , чтобы увеличить ключи легенды:
ggplot(df, aes (fill=position, y=points, x=team)) +
geom_bar(position='dodge', stat='identity') +
theme( legend.key.size = unit(2, 'cm'))

Мы также можем использовать аргументы legend.key.width и legend.key.height для указания ширины и высоты клавиш:
ggplot(df, aes (fill=position, y=points, x=team)) +
geom_bar(position='dodge', stat='identity') +
theme( legend.key.height = unit(2, 'cm'),
legend.key.width = unit(4, 'cm'))

Изменить размер шрифта заголовка легенды ggplot2
Мы можем использовать аргумент legend.title , чтобы увеличить размер шрифта заголовка легенды:
ggplot(df, aes (fill=position, y=points, x=team)) +
geom_bar(position='dodge', stat='identity') +
theme( legend.title = element_text(size=30))

Изменить размер шрифта текста легенды ggplot2
Мы можем использовать аргумент legend.text , чтобы увеличить размер шрифта заголовка легенды:
ggplot(df, aes (fill=position, y=points, x=team)) +
geom_bar(position='dodge', stat='identity') +
theme( legend.text = element_text(size=30))

Дополнительные ресурсы
Как изменить заголовок легенды в ggplot2
Как изменить положение легенды в ggplot2
Как удалить легенду в ggplot2