2012-07-12 20 views
10

पर तारीखों के साथ ggplot2 में एक पहलू साजिश में टेक्स्ट जोड़ें, मैं ggplot2 के लिए नया हूं और यह अद्भुत रहा है, लेकिन मुझे एक चीज़ में कठिनाई हो रही है।एक्स अक्ष

मैंने कई बार श्रृंखला बनाई है जो एक वर्ष तक फैलती है। एक्स अक्ष वर्ग Date के एक चर से लिया गया है। मैंने साजिश का सामना किया है ताकि मेरे पास स्वतंत्र वाई अक्ष वाले कॉलम में 7 टाइम श्रृंखला हो। इस ग्राफिक का पूरा बिंदु शीर्ष पहलू के साथ प्रत्येक पहलू के सहसंबंध की तुलना करना है।

आखिरी चीज जो मैं करना चाहता हूं वह प्रत्येक पहलू के ऊपरी दाएं कोने में साजिश में पाठ (प्रत्येक पहलू और पहले के बीच अनुमानित मोती सहसंबंध) जोड़ना है।

यह बेहद मुश्किल साबित हो रहा है क्योंकि geom_text() को प्रत्येक बिट टेक्स्ट के लिए एक्स और वाई निर्देशांक की आवश्यकता होती है। एक्स अक्ष की तारीख होने पर मैं समन्वय निर्दिष्ट कैसे करूं और वाई अक्ष प्रत्येक पहलू के लिए अलग है? यहाँ कुछ नमूना डेटा और कोड मैं अब तक है, तो आप पुन: पेश कर सकते हैं क्या मैं अब तक है:

library(ggplot2) 

date <- rep(as.Date(1:365,origin='2011-1-1'),7) 
location <- factor(rep(1:7,365)) 
product <- rep(letters[1:7], each=365) 
value <- c(sample(1:10, size=365, replace=T),sample(1:3, size=365, replace=T), 
      sample(10:100, size=365, replace=T), sample(1:50, size=365, replace=T), 
      sample(1:20, size=365, replace=T),sample(50:100, size=365, replace=T), 
      sample(1:100, size=365, replace=T)) 
dat<-data.frame(date,location,product,value) 

qplot(date, value, data=dat, geom="line", color=location, group=location, 
     main='Time Series Comparison', xlab='Month (2011)',ylab='Value') + 
     facet_grid(product ~ ., scale = "free_y") 
+0

संपादन के लिए @Andrie धन्यवाद! – rnorberg

उत्तर

9

यह neatest कोड नहीं है, लेकिन मुझे लगता है कि आप क्या कर रहे हैं की तरह कुछ हद तक है के बाद:

library(plyr) 

corr_dat<-ddply(dat, .(product), summarise, value=value) 
corr.df<-unstack(corr_dat, value~product) 

corr_plot <- data.frame(date=max(dat$date), 
         label=paste0("rho==",round(cor(corr.df)[,1], 2)), 
         ddply(dat, .(product), summarise, 
          value=(min(value)+max(value))/2)) 

ggplot(dat, aes(x=date, y=value, color=location, group=location)) + 
    geom_line()+ 
    facet_grid(product ~ ., scale = "free_y")+ 
    geom_text(data=corr_plot, aes(x=date, y=value, label=label), 
      colour="black", inherit.aes=FALSE, parse=TRUE) 

Plot with expressions

+0

बिल्कुल सही! अनेक अनेक धन्यवाद। जिज्ञासा से बाहर, 'show.guide = FALSE' क्या करता है? – rnorberg

+1

'show.guide = FALSE' पौराणिक कथा में दिखाई देने वाले पाठ को रोकता है। अब यह आवश्यक नहीं हो सकता है कि मैंने रंग को काला रंग दिया है। मैं इसे हटा दूंगा, मुझे लगता है। –

संबंधित मुद्दे