6

我已经看了一段时间了。我的图例已超出图表区域。有没有办法在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))
4

1 回答 1

18

玩弄legend.direction("vertical"/"horizo​​ntal") 应该可以:

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("horizo​​ntal"/"vertical") 结合使用。

如果要控制图例的绝对位置,添加:

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

例如,将图例放置在图表的左上角。

于 2012-11-18T18:38:36.310 回答