将ggplot2图例设为水平和一行

时间:2018-01-14 17:05:23

标签: r ggplot2

我希望我的图表看起来像这样(请关注图例的布局):

enter image description here

我已尝试使用此代码,但传说看起来并不完全相同。

  ggplot(mpg, aes(displ, hwy, colour = class)) +
   geom_point() +
   geom_smooth(method = "lm", se = F) +
   theme(legend.position = "bottom", legend.box = "horizontal") +
   scale_color_discrete(NULL) +
   guides(fill = guide_legend(ncol = 1, nrow = 1, byrow = TRUE))

1 个答案:

答案 0 :(得分:6)

您将nrow和ncol设置为1,并且您也设置了错误的指南 - 您应该调整颜色图例,而不是填充。

library(ggplot2)
ggplot(mpg, aes(displ, hwy, colour = class)) +
  geom_point() +
  geom_smooth(method = "lm", se = F) +
  theme(legend.position = "bottom", legend.box = "horizontal") +
  scale_color_discrete(NULL) +
  guides(color = guide_legend(nrow = 1))

enter image description here