गर्मी का नक्शा- रंग सीमा समायोजित करना

library(gplots)
shades= c(seq(-1,0.8,length=64),seq(0.8,1.2,length=64),seq(1.2,3,length=64))
 heatmap.2(cor_mat, dendrogram='none', Rowv=FALSE, Colv=FALSE, col=redblue(64),  
breaks=shades, key=TRUE, cexCol=0.7, cexRow=1, keysize=1)

ब्रेक के साथ कुछ समस्या है। इस पर सहायता प्राप्त करना चाहते हैं।

कोड चलाने के बाद मुझे यह त्रुटि संदेश मिलता है

Error in image.default(1:nc, 1:nr, x, xlim = 0.5 + c(0, nc), ylim = 0.5 + : must have one more break than colour

अपने समय और विचार के लिए धन्यवाद।

1
जोड़ा संपादित
विचारों: 1
इस कोड को चलाने के बाद मुझे यह त्रुटि संदेश मिलता है: image.default में त्रुटि (1: एनसी, 1: एनआर, एक्स, xlim = 0.5 + सी (0, एनसी), ylim = 0.5 +: रंग से एक और ब्रेक होना चाहिए समस्या यह है
जोड़ा लेखक rockswap, स्रोत
क्या पूछते हैं? ब्रेक के साथ क्या समस्याएं? आप किसके साथ मदद चाहते हैं?
जोड़ा लेखक Andrie, स्रोत
कृपया उस जानकारी को अपने प्रश्न में जोड़ें।
जोड़ा लेखक Andrie, स्रोत

1 उत्तर

खैर, हमारे पास cor_mat नहीं है इसलिए हम इसे स्वयं नहीं कर सकते हैं, लेकिन समस्या यह है कि यह टिन पर क्या कहता है, है ना? जिस तरह से हीटमैप (और आमतौर पर छवि पर आधारित सभी फ़ंक्शंस) ब्रेक और रंगों के वेक्टर के साथ काम करता है, यह है कि ब्रेक उन बिंदुओं को परिभाषित करते हैं जहां आपके डेटा मैट्रिक्स के मान में परिवर्तन रंग परिवर्तन का अर्थ है। संक्षेप में, यदि break = c (1,2,3) , और आपका col = c ("red", "blue") :

  1. values < 1 will be transparent
  2. values >= 1, <= 2 will be plotted as red
  3. values > 2, <= 3 will be plotted as blue
  4. values > 3 will be transparent

आपके कोड में क्या चल रहा है कि 'छाया' के साथ आपने लंबाई 3 * 64 वेक्टर को break पर आपूर्ति की है, जबकि redblue (64) केवल आपको 64 रंग देता है। redblue (64) को प्रतिस्थापित करने का प्रयास करें, कहें, redblue (3 * 64-1)

2
जोड़ा
धन्यवाद। इसे (3 * 64-1) के साथ बदलकर काम किया।
जोड़ा लेखक rockswap, स्रोत