2011-12-30 16 views
6

मैं प्रकार चरित्र के एक मैट्रिक्स प्लॉट करने के लिए एक तरह से देख रहा हूँ: रंगों का एक परिभाषित सेट के साथसाजिश

m=matrix(data=c("A","A","B","B","B","C","C","B"),nrow=4,ncol=2) 
> m 
    [,1] [,2] 
[1,] "A" "B" 
[2,] "A" "C" 
[3,] "B" "C" 
[4,] "B" "B" 

A="Yellow" 
B="Blue" 
C="Green" 

मैं करने के लिए मैट्रिक्स से पारित करना चाहिए ascii और छवि()एसपी पैकेज से उपयोग करें? कुछ इस तरह

मैं इधर-उधर देख रहा हूँ:

enter image description here

+0

'image' pkg से है: ग्राफिक्स। नीचे दिए गए दूसरे उत्तर को कम से कम जब आप पंक्तियों और स्तंभों को स्वैप करते हैं, तो संतुष्ट होना चाहिए। आप इस कोड के साथ वांछित हरे रंग की तलाश कर सकते हैं: 'grep ("हरा", रंग(), मूल्य = सही) '। "अंधेरा" बहुत अंधेरा था। –

उत्तर

10

आप "एक मैट्रिक्स साजिश" क्या मतलब पर यह बल्कि निर्भर करता है:

m2 <- m 
m2[] <- c("yellow", "blue","green")[match(m, c("A","B","C"))] 
m2 
#------------ 
[,1]  [,2] 
[1,] "yellow" "blue" 
[2,] "yellow" "green" 
[3,] "blue" "green" 
[4,] "blue" "blue" 
#------------ 
plot(row(m2), col(m2), col=m2, pch=18, cex=4) 

यह निर्दिष्ट रंग का ठोस हीरे भूखंडों मैट्रिक्स एम की पंक्ति और कॉलम द्वारा निर्धारित मैट्रिक्स स्थानों पर। image साथ एक और तरीका है:

m2[] <- match(m, c("A","B","C")) 
mode(m2) <- "numeric" 
m2 
image(1:nrow(m2), 1:ncol(m2), m2, col=c("yellow", "blue","green")) 

enter image description here

+0

'grid.raster (m2, interpolate = FALSE) 'यदि आप कोई अक्ष आदि नहीं चाहते हैं – baptiste

+0

जिसने ऊपर एम 2 ऑब्जेक्ट के साथ एक त्रुटि फेंक दी और अधिकतम (एम 2) से विभाजित होने पर मुझे ग्रे-स्केल मिलता है। –

+0

मेरा मतलब पहला एम 2 (रंग नाम) – baptiste

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