仅显示每个类别的标签

时间:2017-12-28 17:39:18

标签: r ggplot2

我有以下数据集:

year <- as.factor(c(1999,2000,2001))
era <- c(0.4,0.6,0.7)
player_id <- as.factor(c(2,2,2))
df <- data.frame(year, era, player_id)

使用这些数据我创建了以下图表:

ggplot(data = df, aes(x = year, y=era, colour = player_id))+ 
 geom_line() +
 geom_text(aes(label = player_id), hjust=0.7)
然而,事情是,我现在在每个数据点都得到一个标签。我只想在每个数据点的末尾都有一个标签。

关于我应该改变什么的任何想法我只得到一个标签?

2 个答案:

答案 0 :(得分:2)

如果我理解正确,您需要在数据点的末尾添加标签。您可以使用directlabels库执行此操作,如下所示:

library(ggplot2)
library(directlabels)
ggplot(data = df, aes(x = year, y=era, group = player_id, colour = player_id))+ 
geom_line() +
scale_colour_discrete(guide = 'none') +
scale_x_discrete(expand=c(0, 1)) +
geom_dl(aes(label = player_id), method = list(dl.combine("last.points"), cex = 0.8))

<强>输出:

enter image description here

答案 1 :(得分:0)

如果我正确理解了您的需求,那么您可以将geom_text(...)替换为geom_point()

enter image description here