Это можно сделать, настроив legend.box
внутри theme()
, например
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) +
geom_point(aes(shape = Species, colour = Petal.Width)) +
theme(
legend.justification = 'left',
legend.position = 'bottom', legend.box = 'vertical',
legend.box.just = 'left')
![enter image description here](https://i.stack.imgur.com/nEPMj.png)
Редактировать
Существует ряд параметров, которые можно передать в theme()
для точной настройки расстояния и полей между легендами и между сюжетом и легендами, например (копирование из ?theme
)
legend.margin
контролирует поле вокруг каждой легенды legend.box.margin
контролирует поле вокруг области, содержащей все легенды legend.spacing
, legend.spacing.x
, legend.spacing.y
контролирует расстояние междулегенды
В вашем случае, если ваша цель состоит в сближении легенд по вертикали, вы можете попробовать, например, legend.margin = margin(-5, 0, 0, 0)