【问题标题】:Changing the legend title on a graph更改图表上的图例标题
【发布时间】:2019-11-29 12:08:58
【问题描述】:

我正在尝试更改图表上的图例标题。如果我使用 scale_fill_discrete() 更改图例标题(见下图),我会在图例出现两次的地方得到一些奇怪的东西(见下图)。我只希望它显示一次,并以文本“SES”、“Low”和“High”作为值(就像现在图表上的底部图例一样)。

我做错了什么?谢谢你的帮助。

    # graphs
    plots[[j]] <-ggplot(cdat, aes(x = whr , y=perc, group=factor(ses3), color=factor(ses3), fill=factor(ses3))) +
    theme_bw() +
    geom_area(alpha=0.5) +

    scale_fill_discrete(name="SES",
                        breaks = c("0", "1"),
                        labels=c("Low", "High"))+

    theme(plot.title = element_text(hjust = 0, size=10, face="bold")) +
    labs(y="Density", x = "Treatment hrs (in 3 hr units)")+
    theme(text = element_text(size = 10, hjust=0.5))

【问题讨论】:

  • 原因由下面的thothal提供,或者你可以+guides(colour=FALSE,fill=guide_legend())
  • 在这种情况下你会错过颜色图例(即边框和ses3之间的映射)

标签: r ggplot2 legend


【解决方案1】:

这是由于您将 bth colorfill 映射到 factor(ses3) 但只为 fill 添加提供了一个命名比例

scale_color_discrete(name="SES",
                     breaks = c("0", "1"),
                     labels=c("Low", "High"))

应该可以解决问题(未经测试,因为您没有提供reprex

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-29
    • 1970-01-01
    • 2011-10-18
    • 2021-12-27
    相关资源
    最近更新 更多