2009-11-29 18 views
11

मैं scatterplot बनाने और लेबल करने के लिए ggplot2 का उपयोग करने का प्रयास कर रहा हूं। वे चर जो मैं प्लॉट कर रहा हूं वे दोनों स्केल किए गए हैं कि क्षैतिज और ऊर्ध्वाधर अक्ष मानक विचलन (1,2,3,4, ... माध्य से ect) की इकाइयों में प्लॉट किए गए हैं। मैं जो करने में सक्षम होना चाहता हूं वह केवल उन तत्वों को लेबल करता है जो माध्य से मानक विचलन की एक निश्चित सीमा से परे हैं। आदर्श रूप में, यह लेबलिंग डेटा के दूसरे कॉलम से अलग होगी।ggplot2 स्कैटर प्लॉट लेबल

क्या ऐसा करने का कोई तरीका है?

मैंने ऑनलाइन मैनुअल को देखा है, लेकिन मुझे प्लॉट किए गए डेटा के लिए लेबल परिभाषित करने के बारे में कुछ भी नहीं मिला है।

सहायता की सराहना की जाती है!

धन्यवाद!

BEB

उत्तर

15

उपयोग subsetting: 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

subsetting:

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(a, b, data = x, label = lab, geom = c('point','text')) 
संबंधित मुद्दे