【发布时间】:2017-04-11 13:55:02
【问题描述】:
我有一个看起来像这样的情节:
library(ggplot2)
ggplot(data = dat, aes(x = value,
y = ..density..,
fill = exp_ID,
color = exp_ID)) +
geom_density(alpha = 0.3,
bw = 0.5) +
scale_x_log10(limits = c(0.0001,30000)) +
theme_classic(base_size = 15) +
theme(axis.text = element_text(color = "black")) +
scale_fill_discrete(name="Experimental\nCondition",
breaks=c("A", "B", "C", "D"),
labels=c("label1", "label2", "label3", "label4"))
添加自定义图例只会给我两个图例。我似乎无法删除自动的,例如theme(legend.position="none"),因为这显然会删除两者,无论它放在代码中的什么位置。
如何删除第一个图例?
这里的数据:https://drive.google.com/open?id=0B8piwdBM2UI5Sk03SU1XVUloQ0E
【问题讨论】:
-
在您的链接中,OP 有多个具有不同标题的 scale_geoms,导致每个 geom 生成一个新的图例而不是折叠它们。我只有一个自定义图例,我希望它会覆盖自动生成的图例。
-
对该问题的检查答案很好地解释了事情。只有当图例具有相同的标题和标签时,它们才会折叠在一起。您更改了
fill而不是color的标题和标签,因此得到了两个图例而不是一个折叠图例。如果您只需要fill图例而不是折叠图例,则可以在scale_color_discrete中使用guide = "none"。