Как изменить размер легенды в ggplot2 (с примерами)


Вы можете использовать следующий синтаксис, чтобы изменить размер элементов в легенде 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