标题在ggplot顶部的水平图例

Pul*_*lse 7 r ggplot2

我试图把传奇的标题放在最顶层,而值是水平分布但我不能.任何提示将非常感激.

下面的代码提供了下图,但我的图表上没有空格,所以我需要这样的东西:

性别

女性男性

df1 <- data.frame(
  sex = factor(c("Female","Female","Male","Male")),
  time = factor(c("Lunch","Dinner","Lunch","Dinner"), levels=c("Lunch","Dinner")),
  total_bill = c(13.53, 16.81, 16.24, 17.42))

 lp1 <- ggplot(data=df1, 
          aes(x=time, y=total_bill, group=sex, shape=sex, colour=sex)) + 
  geom_line() + 
  geom_point() +
  theme_bw() +
  theme(
   legend.direction = "horizontal",
   ) +     
  scale_color_manual(values=c("#0000CC", "#CC0000"),
                     name = 'Gender') 
    lp1
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

tyl*_*uRp 9

试试这个:

cols <- c("#0000CC", "#CC0000")

df1 %>%
  ggplot(aes(time, total_bill, group = sex, shape = sex, colour = sex)) +
  geom_line() +
  geom_point() +
  theme_bw() +
  scale_shape(
    guide = guide_legend(
      direction = "horizontal",
      title.position = "top"
    )
  ) +
  scale_color_manual(
    values = cols,
    name = "Gender",
    guide = guide_legend(
      direction = "horizontal",
      title.position = "top"
    )
  )
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述