2009-11-29 17 views
11

ggplot2を使用して散布図を作成してラベル付けしようとしています。私がプロットしている変数は、水平軸と垂直軸が標準偏差(平均から1,2,3,4、...など)の単位でプロットされるようにスケーリングされています。私ができるようにしたいのは、平均からの標準偏差の一定の限界を超えている要素のみにラベルを付けることです。理想的には、このラベルは別のデータ列に基づいています。ggplot2散布図ラベル

これを行う方法はありますか?

私はオンラインマニュアルを調べましたが、プロットされたデータのラベルを定義する方法については何も見つかりませんでした。

ご協力いただき誠にありがとうございます。

ありがとうございます!

BEB

標識は、以下の方法で行うことができます

答えて

15

使用のサブセット:ggplot機能の外

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

サブセット:

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) 

qを使うプロット:

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