如何为绘图添加标签

时间:2011-04-03 08:57:47

标签: r ggplot2

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

原始的一个是用:

生成的

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

Manually added fake labels to qplot

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分: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)

有关详情,请参阅在线文档:http://had.co.nz/ggplot2/geom_text.html

enter image description here