如何为绘图添加标签

amh*_*amh 24 r ggplot2

有没有办法为图中的每个点添加标签?我在图像编辑器上做了这个只是为了传达这个想法:1.

原始的一个生成:

qplot(pcomments, gcomments , data = topbtw, colour = username)

手动将假标签添加到qplot

Cha*_*ase 27

为了跟进Andrie的优秀答案,如果我需要突出显示特定数据,我经常使用两种方法将标签添加到绘图上的一个子集中.两者都在下面演示:

dat <- data.frame(x = rnorm(10), y = rnorm(10), label = letters[1:10])

#Create a subset of data that you want to label. Here we label points a - e
labeled.dat <- dat[dat$label %in% letters[1:5] ,]

ggplot(dat, aes(x,y)) + geom_point() +
  geom_text(data = labeled.dat, aes(x,y, label = label), hjust = 2)

#Or add a separate layer for each point you want to label.
ggplot(dat, aes(x,y)) + geom_point() +
  geom_text(data = dat[dat$label == "c" ,], aes(x,y, label = label), hjust = 2) + 
  geom_text(data = dat[dat$label == "g" ,], aes(x,y, label = label), hjust = 2)
Run Code Online (Sandbox Code Playgroud)

  • +1用于突出显示仅标记子集(例如异常值)通常是有意义的. (3认同)

And*_*rie 14

是的,使用geom_text()为您的绘图添加文本.这是一个例子:

library(ggplot2)

qplot(mtcars$wt, mtcars$mpg, label=rownames(mtcars), geom="text")

ggplot(mtcars, aes(x=wt, y=mpg, label=rownames(mtcars))) + geom_text(size=3)
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅联机文档:http://had.co.nz/ggplot2/geom_text.html

在此输入图像描述