在geom_point中标记点

我正在玩的数据来自下面列出的互联网来源

nba <- read.csv("http://datasets.flowingdata.com/ppg2008.csv", sep=",") 

我想要做的是创build一个2D点图,比较这个表中的两个度量,每个玩家在图上代表一个点。 我有以下代码:

 nbaplot <- ggplot(nba, aes(x= MIN, y= PTS, colour="green", label=Name)) +geom_point() 

这给了我以下几点:

NBA剧情

我想要的是点旁边的玩家名字标签。 我认为ggplot美学中的标签function会为我做到这一点,但事实并非如此。

我也尝试了text()函数和library(calibrate)textxy()函数,这两个函数都不能与ggplot一起使用。

我如何添加名称标签到这些点?

使用geom_textaes标签。 你可以玩,调整文本的位置。

 ggplot(nba, aes(x= MIN, y= PTS, colour="green", label=Name))+ geom_point() +geom_text(aes(label=Name),hjust=0, vjust=0) 

在这里输入图像描述

编辑:只标记高于某个阈值的值:

  ggplot(nba, aes(x= MIN, y= PTS, colour="green", label=Name))+ geom_point() + geom_text(aes(label=ifelse(PTS>24,as.character(Name),'')),hjust=0,vjust=0) 

带有条件标签的图表

在上面的例子中,除了使用ifelse外,还可以根据某些阈值对数据进行预先过滤,从而为绘图设备节省了大量的工作量:

 xlimit <- 36 ylimit <- 24 ggplot(myData)+geom_point(aes(myX,myY))+ geom_label(data=myData[myData$myX > xlimit & myData$myY> ylimit,], aes(myX,myY,myLabel))