在ggplot2中,geom_XXX中定义的透明度会反映在图例中。例如:
df <- data.frame(x=runif(10000), z=ifelse(runif(10000) > 0.5, 'a', 'b')); df$y <- runif(10000); df$y[df$z == 'b'] <- cos(df$x[df$z == 'b']*10)
ggplot(df) + geom_point(aes(x, y, color=z), alpha=0.1)
给出以下结果:
由于这些点非常透明,因此很难在图例中看到它们。我想从图例中删除点透明度,以便图形如下所示:
这怎么可能?
答案 0 :(得分:22)
您可以使用函数guides()
和override.aes=
为图例条目设置Alpha值。
ggplot(df) + geom_point(aes(x, y, color=z), alpha=0.1)+
guides(colour = guide_legend(override.aes = list(alpha=1)))