【问题标题】:How do I remove superfluous legend (titles) in ggplot?如何删除ggplot中多余的图例(标题)?
【发布时间】:2021-06-08 14:02:48
【问题描述】:

我正在尝试删除“系列”图例,因为我添加了自己的图例(主要是更改图例标题)。 在我的代码下方(应该是可重现的)

p1 image output

df<-data.frame(
  "time"=c(100, 75, 50, 25, 0, -25),
  "nativ"=c("start", "75", "50", "25","home","end"),
  "series"=c("A", "A","A", "A", "A","A"),
  "value"=runif(n = 6,min = 0,max = 20)
)

serlabel=c("start", "75", "50", "25","home","end")

p2<-ggplot2::ggplot(
  df, 
  ggplot2::aes(time,
               value,
               group=1
  )) + 
  ggplot2::geom_line(
    ggplot2::aes(colour = series, linetype=series))+
  #
  ggplot2::labs(x= "Locations", 
                y="APC", 
                colour=paste(
                  "New legend title")
  )+ #add variiable to function if fpkm or fc
  ggplot2::scale_x_reverse(breaks = c(100, 75, 55, 35, 10, -20),
                           labels = serlabel, #enter serieslabel variable
                           expand=c(0,0))+
  ggplot2::theme_bw()
p2

我试图通过添加删除系列图例

+ggplot2::theme(legend.title = ggplot2::element_blank())

但这会删除两个标题。必须有一种更清洁的方法来做到这一点。有人知道怎么做吗?

【问题讨论】:

  • 你想要的结果是什么?一个同时显示颜色和线型的图例?只显示颜色但不显示线型的图例?还有什么?

标签: r ggplot2 legend


【解决方案1】:

添加scale_linetype(guide = FALSE):

ggplot(df, aes(time, value, group=1)) + 
  geom_line(aes(colour = series, linetype=series)) +
  labs(x= "Locations", y="APC", colour= "New legend title") +
  scale_x_reverse(breaks = c(100, 75, 55, 35, 10, -20),
                           labels = serlabel, expand=c(0,0))+
  scale_linetype(guide = FALSE) +
  theme_bw()

【讨论】:

    【解决方案2】:

    labs 中,linetype 图例使用相同的标题。

    ggplot(df, aes(time, value)) +
      geom_line(
        aes(colour = series, linetype = series)
      ) +
      labs(
        x = "Locations", 
        y = "APC", 
        colour = "New legend title",
        linetype = "New legend title"
      ) +
      scale_x_reverse(
        breaks = c(100, 75, 55, 35, 10, -20),
        labels = serlabel, #enter serieslabel variable
        expand = c(0, 0)
      ) +
      theme_bw()
    

    【讨论】:

      猜你喜欢
      • 2013-01-24
      • 1970-01-01
      • 1970-01-01
      • 2018-11-03
      • 2011-08-26
      • 2016-06-07
      • 1970-01-01
      • 2021-12-27
      相关资源
      最近更新 更多