小编典典

在 geom_point 中标注点

all

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

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

我想要做的是创建一个 2D 点图,比较该表中的两个指标,每个玩家代表图表上的一个点。我有以下代码:

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

这给了我以下信息:

NBA剧情

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

我还尝试text()了 function 和textxy()from的函数library(calibrate),它们似乎都不适用于
ggplot。

如何在这些点上添加名称标签?


阅读 74

收藏
2022-06-10

共1个答案

小编典典

使用geom_text, 带aes标签。您可以hjust, vjust调整文本位置。

ggplot(nba, aes(x= MIN, y= PTS, colour="green", label=Name))+
  geom_point() +geom_text(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)

带有条件标签的图表

2022-06-10