具有填充美学的Geom_label。删除图例中的字母

时间:2019-01-29 19:53:06

标签: r ggplot2 legend

设置填充美学时,我需要删除geom_label图例中出现的“ a”字母。使用show.legend = F会删除整个填充图例,而使用guides(text = 'none')不会产生任何效果。

enter image description here

谢谢

1 个答案:

答案 0 :(得分:0)

我要使用的一种解决方法是添加具有相同期望美感的另一个geom图层(将alpha设置为0,以便不干扰生成的图),以便填充图例依赖于此而不是geom_label层。下图:

# instead of this
p1 <- ggplot(mtcars, 
             aes(wt, mpg, fill = factor(cyl),
                 label = rownames(mtcars))) +
  geom_label()

# try this
p2 <- ggplot(mtcars, 
       aes(wt, mpg, fill = factor(cyl),
           label = rownames(mtcars))) +
  geom_label(show.legend = FALSE) +
  geom_tile(alpha = 0) +
  guides(fill = guide_legend(override.aes = list(alpha = 1)))

plot

(如果您更喜欢点形图例键,也可以使用geom_point层。形状21-25可以接受填充。)