ggplot2:当指南似乎没有效果时,强制图例为一行

use*_*841 3 r ggplot2

我有以下玩具示例:

library(ggplot2)
g <- ggplot(mpg, aes(class))
mpg$drv <- sample(as.character((-4:4)), size = length(mpg$drv), replace = T)
g + geom_bar(aes(fill = drv), position = "fill") + theme(legend.position = "bottom") + guides(colour = guide_legend(nrow = 1))
Run Code Online (Sandbox Code Playgroud)

这对我来说在此处输入图片说明 产生下图。

尽我所能,我无法将底部的图例排成一排。我环顾四周,guide_legend似乎没有效果。有没有更好的方法来做到这一点,或者有没有另一种方法可以强制将图例排成一行?

Hal*_*wan 5

您已指定colour而不是fillin guides。试试这个:

library(ggplot2)
mpg$drv <- sample(as.character((-4:4)), size = length(mpg$drv), replace = T)
g <- ggplot(mpg, aes(class))
g + geom_bar(aes(fill = drv), position = "fill") + theme(legend.position = "bottom") + guides(fill = guide_legend(nrow = 1))
Run Code Online (Sandbox Code Playgroud)