2009-11-29 46 views
11

Bir gırtlak grafiği oluşturmak ve etiketlemek için ggplot2 kullanmaya çalışıyorum. Çizimde olduğum değişkenler, yatay ve dikey eksen standart sapma birimlerinde (ortalamadan 1,2,3,4, ... vb) olacak şekilde ölçeklendirilir. Yapmak istediğim şey, SADECE, ortalamadan standart sapmaların belirli bir sınırının ötesindeki unsurları etiketlemektir. İdeal olarak, bu etiketleme başka bir veri sütununa dayanacaktır.ggplot2 Scatter Plot Etiketler

Bunu yapmanın bir yolu var mı?

Online kullanım kılavuzuna baktım, ancak çizilen veriler için etiket tanımlamakla ilgili hiçbir şey bulamadık.

Yardımı minnettar!

Teşekkürler!

BEB

etiketleme aşağıdaki şekilde yapılabilir

cevap

15

Kullanım subsetting: ggplot fonksiyonunun dışında

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

Altkümeleme:

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 kullanarak plot:

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