首页 > 解决方案 > 在主标题上方放置图例

问题描述

ggplot2在使用时将图例放在主标题上方theme(legend.position = "top")似乎是 ggplot 先前版本中的默认(和不需要的)结果:ggplot legend at top but below title?

在当前版本中ggplot2,图例在设置时位于情节和主标题之间theme(legend.position = "top")。一个小例子:

d <- data.frame(x = 1:2, y = 1:2, z = c("a", "b")) 
ggplot(d, aes(x = x, y = y, fill = z)) + 
  geom_col() +
  ggtitle("My title") +
  theme(legend.position = "top") 

在此处输入图像描述

如何将图例放在主标题上方?

标签: rggplot2legend

解决方案


library(ggplot2)

ggplot(mtcars, aes(wt, mpg, color=cyl)) +
  geom_point() +
  labs(title = "Hey") +
  theme(plot.margin = margin(t=4,1,1,1, "lines")) +
  theme(legend.direction = "horizontal") +
  theme(legend.position = c(0.5, 1.2))

在此处输入图像描述

还有其他方法,但这是我想到的最简单的方法。


推荐阅读