2012-08-26 13 views
5

मेरा लक्ष्य एक कोलोर्की साझा करने वाले 4 या अधिक व्यक्तिगत भूखंडों के साथ एक स्तरीय प्लॉट (जाली पैकेज से) बनाना है। हालांकि यह कार्यों का उपयोग करके अपेक्षाकृत सरल प्रतीत होता है, लेकिन मैं डेटा matrices का उपयोग कर समाधान खोजने में सक्षम नहीं हूं। सिर्फ एक मैट्रिक्स के साथ एक काम levelplot का एक उदाहरण:आर: मैट्रिस से एकाधिक जाली स्तर के स्प्लॉट

d <- replicate(10,rnorm(10)) 
levelplot(d) 

मैं प्रिंट का उपयोग कर आंशिक समाधान पाया है और एक ही स्क्रीन पर सभी 4 levelplots को दिखाने के लिए अलग हो गए, लेकिन इन मुझे या तो colorkey बंद करने के लिए की आवश्यकता होगी, या इसे हर साजिश पर दिखाओ। न तो समाधान पूरी तरह से संतोषजनक है।

अगर मैं levelplot में लेआउट विकल्प, इसलिए की तरह उपयोग करें:

levelplot(d, layout=c(2,2)) 

, मैं एक बड़ी colorkey, मुख्य और xlab/ylab, लेकिन केवल एक levelplot प्रिंट के साथ इच्छित लेआउट मिलता है।

मैं वांछित परिणाम उत्पन्न करने वाले सूत्र का निर्माण करने की कोशिश कर रहा हूं, लेकिन मुझे डर है कि डेटा फ्रेम, सरणी और मैट्रिस की मेरी समझ इतनी गहरी नहीं है। अगर कोई कामकाजी समाधान के बारे में जानता है, तो मैं बहुत आभारी रहूंगा। मुझे कल्पना है कि (कोडिंग कोड नहीं) की रेखा के साथ कुछ है:

d1 <- replicate(10,rnorm(10)) 
d2 <- replicate(10,rnorm(10)) 
d3 <- replicate(10,rnorm(10)) 
d4 <- replicate(10,rnorm(10)) 

d <- list(d1,d2,d3,d4) 
di <- c(1,2,3,4) 

levelplot(x ~ y | di, data = d, layout=c(2,2)) 

एनबी! Matrices से बचने का एक विकल्प नहीं है। उनमें से कुछ कच्चे पाठ फ़ाइलों से प्राप्त होते हैं।

अग्रिम धन्यवाद,

-JP

+0

में आपका स्वागत है अतः पर । मेरे पास अब उचित उत्तर के लिए समय नहीं है, लेकिन कृपया [इस पृष्ठ] पर एक नज़र डालें (http://learnr.wordpress.com/2009/07/20/ggplot2-version-of-figures-in-lattice -multivariate-data-visualization-with-r-part-6 /), जहां आप 'जाली' और 'ggplot2' दोनों में लेवलप्लॉट के कुछ उदाहरण पा सकते हैं। उम्मीद है कि यह आपको सही रास्ते पर ले जाएगा। आह, और मैं अत्यधिक 'ggplot2' की सलाह देते हैं। – ROLO

+0

धन्यवाद - मैंने 'ggplot2' पर ठोकर खाई थी लेकिन 'जाली' का उपयोग करने के लिए आसान दिखाई दिया - लेकिन मैं @ एंडी-गार्सिया के उदाहरण द्वारा उत्पादित परिणामों के साथ बहस नहीं कर सकता। मैं आपके द्वारा सुझाई गई वेबसाइट पर देखूंगा। – ipoga

उत्तर

7

अपनी सूची d के साथ ggplot और reshape का उपयोग करना:

require(reshape) 
require(ggplot2) 

ggplot(melt(d), aes(x=X1, y=X2)) + 
    facet_wrap(~ L1, ncol=2) + 
    geom_tile(aes(fill=value)) + 
    coord_equal() 

कौन देता है:

enter image description here

+1

बहुत बहुत धन्यवाद, यह शानदार काम करता है। – ipoga

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