Ggplot вертикально оправдывает легенду

Я смотрел на это некоторое время. Мои легенды заканчиваются из области диаграммы. Есть ли способ вертикально обосновать легенду в ggplot2?

library(ggplot2)
df <- data.frame(x = 1:30, y = 1:30, color = letters[1:30])
ggplot(df, aes(x, y)) +
 geom_point(aes(colour = color)) +
 guides(col = guide_legend(nrow = 30))
1 ответ

Игра с legend.direction ( "вертикальная" / "горизонтальная" ) должна работать:

library(ggplot2)
df <- data.frame(x = 1:30, y = 1:30, color = letters[1:30])
ggplot(df, aes(x, y)) +
 geom_point(aes(colour = color)) +
 theme(legend.direction='horizontal')

Вы также можете объединить его с legend.box ( "horizontal" / "vertical" ).

Если вы хотите контролировать абсолютное положение легенды, добавьте:

theme(legend.direction = "vertical",
legend.box = "horizontal",
legend.position = c(0.025,0.975),
legend.justification = c(0, 1))

Что, например, помещает легенду в верхний левый угол графика.

licensed under cc by-sa 3.0 with attribution.