ggplot2散点图标签

12

我想使用ggplot2创建和标记散点图。 我正在绘制的变量都经过缩放,以使水平和垂直轴按标准差单位(从平均值开始)绘制(1、2、3、4等)。 我想要能够仅标记那些超出一定标准差限制的元素。 理想情况下,这种标记将基于另一列数据。

有没有办法做到这一点?

我已经查看了在线手册,但没有找到关于定义绘制数据标签的信息。

谢谢!

BEB

3个回答

17

使用子集:

library(ggplot2)
x <- data.frame(a=1:10, b=rnorm(10))
x$lab <- letters[1:10]
ggplot(data=x, aes(a, b, label=lab)) + 
  geom_point() + 
  geom_text(data = subset(x, abs(b) > 0.2), vjust=0)

4
标签可以按以下方式完成:
library("ggplot2")
x <- data.frame(a=1:10, b=rnorm(10))
x$lab <- rep("", 10)   # create empty labels
x$lab[c(1,3,4,5)] <- LETTERS[1:4]   # some labels
ggplot(data=x, aes(x=a, y=b, label=lab)) + geom_point() + geom_text(vjust=0)

1
在 ggplot 函数之外进行子集化:
library(ggplot2)
set.seed(1)
x <- data.frame(a = 1:10, b = rnorm(10))
x$lab <- letters[1:10]
x$lab[!(abs(x$b) > 0.5)] <- NA
ggplot(data = x, aes(a, b, label = lab)) + 
  geom_point() + 
  geom_text(vjust = 0) 

使用qplot:
qplot(a, b, data = x, label = lab, geom = c('point','text'))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接