在我的情节中只保留一个传奇

时间:2018-04-01 01:43:30

标签: r ggplot2

我有这样的数据集:

a <- letters[1:10]
b <- c(4.04,5.12,9.69,8.77,8.39,5.77,5.62,1.85,4.58,5.00)
c <- c(14.05,5.71,11.11,9.77,9.06,7.33,6.24,2.28,7.33,5.17)
d <- c("e","f","c","d","a","e","e","b","f","b")
df <-data.frame(a,b,c,d)

我制作了这个情节:

ggplot(data = df, aes(x= b, y= c, shape=d, color = d)) +
geom_point() + 
geom_text(aes(label=a), size=3.2, hjust = 0.5, vjust = 1.5)

我得到了这个:

enter image description here

如何删除图例中每个形状后面的字母“a”?

1 个答案:

答案 0 :(得分:2)

这里的问题是geom_text图层正在添加到图例中。以下是一些示例,向您展示正在发生的事情:

如果您只是使用ggplot图层调用geom_point,则可以获得正确的图例:

p <- ggplot(data = df, aes(x = b, y = c, shape = d, color = d))
p + geom_point()

enter image description here

尝试仅使用geom_text图层调用它,您会看到图例使用'a'

p + geom_text(aes(label = a), size = 3.2, hjust = 0.5, vjust = 1.5)

enter image description here

通过show.legend = FALSE以阻止geom_text图层添加到图例:

p + geom_point() +
  geom_text(aes(label = a), size = 3.2, hjust = 0.5, vjust = 1.5, show.legend = FALSE)

enter image description here