以下
data(iris)
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) +
geom_point(aes(shape = Species, colour = Petal.Width)) +
theme(legend.position = 'bottom')
在底部并排放置两个图例Petal.Width
和Species
。
我也可以像这样将它们彼此叠放吗?
我知道cowplot
可以实现,但是还有另一种方法吗?
答案 0 :(得分:1)
例如可以通过在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')
修改
有许多参数可以传递给theme()
,以调整图例之间以及图与图例之间的间距和边距,例如(从?theme
复制)
legend.margin
控制每个图例的边距legend.box.margin
控制包含所有图例的区域的边距legend.spacing
,legend.spacing.x
,legend.spacing.y
控制图例之间的间距在您的情况下,如果您的目标是将图例沿垂直方向拉近,则可以尝试例如legend.margin = margin(-5, 0, 0, 0)