如何更改条形颜色而不在图例中显示它

Sta*_*taq 2 r ggplot2

我有一个如下所示的情节。我想: Q1:替换darkgreylightgrey颜色而不显示在图例中。是否可以?

Q2:灰色部分可以有图例吗?也许将其设置为“Length1-Length2”?它将沿着图例站立,而不是将其添加到 ID 图例中。

在此输入图像描述

df<- structure(list(ID = c("A", "B", "C", "D"), Length1 = c(15, 12, 
6, 9), Length2 = c(7, 8, 3, 9)), row.names = c(NA, -4L), class = c("tbl_df", 
"tbl", "data.frame"))
ggplot(data = df)  +
   geom_bar(aes(y =  ID, x = Length1), stat = "identity")+ 
   geom_bar(aes(y =  ID, x = Length2, fill = ID), stat = "identity")
Run Code Online (Sandbox Code Playgroud)

r2e*_*ans 5

  1. 添加fill="lightgray"到第一个geom_bar(不在 之内aes(..));和
  2. 我们可以通过使用其他未使用的美学来“作弊”来创建另一个传奇,我将使用linetype.
ggplot(data = df)  +
   geom_bar(aes(y =  ID, x = Length1, linetype = "Len1 - Len2"),
            fill = "lightgray", stat = "identity") +
   geom_bar(aes(y =  ID, x = Length2, fill = ID), stat = "identity") + 
   scale_linetype_discrete(name = NULL)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述