2011-09-02 15 views
8

मैं बाईं तरफ Y अक्ष लेबल के साथ एक हीटमैप कैसे करूं? ऐसा लगता है कि दाईं ओर डिफ़ॉल्ट है। क्या मुझे axis() का उपयोग करके कस्टम अक्ष बनाने की आवश्यकता है?एक हीटमैप के बाईं पर Y अक्ष कैसे रखूं?

उत्तर

9

heatmap समारोह में कुल्हाड़ियों के पदों हार्ड-कोडेड हैं। लेकिन दूसरी ओर इसे स्थानांतरित करने के लिए केवल एक ही संख्या को बदलना बहुत आसान होगा। अपने कंसोल पर "हीटमैप" और दूसरा axis() कॉल में एक 2 से 4 से पहला तर्क परिवर्तन प्रकार।

सभी मैं बदल गया था:

axis(2, iy, labels = labRow, las = 2, line = -0.5, tick = 0, # the 2 used to be 4 
     cex.axis = cexRow) 

अभी भी मार्जिन में परिवर्तन स्विच को समायोजित करने की जरूरत है। 0 से 5 के वर्तमान मूल्य बदलने उदाहरण मैं मदद पेज से साथ खेल रहा था में पर्याप्त जगह बनाने के लिए लग रहा था:

... 
par(mar = c(margins[1L], 5, 0, margins[2L])) 

यह मेरा परीक्षण का मामला था:

x <- as.matrix(mtcars) 
rc <- rainbow(nrow(x), start=0, end=.3) 
cc <- rainbow(ncol(x), start=0, end=.3) 
utils::str(hv) # the two re-ordering index vectors 

## no dendrogram (nor color strip) 
heatmap.new(x, Colv = NA, Rowv=NA, col = cm.colors(256), scale="column", 
     margins=c(5,2), 
     xlab = "specification variables", ylab= "Car Models", 
     main = "heatmap(<Mtcars data>, ..., scale = \"column\")") 
+0

ध्यान दें: मैंने देखा है ' पक्ष = 'तर्क और उनको भी बदल दिया। वही परिणाम, कोई धुरी लेबल नहीं। क्या यह 'मार्जिन' के साथ एक समस्या हो सकती है? प्रतीत होता है कि गर्मी के टुकड़े छवि के ऊपरी बाएं कोने में फंस गए हैं। मैं चारों ओर खेलना जारी रखूंगा। मुझे लगता है कि हम यहां सही रास्ते पर हैं। धन्यवाद! – James

+0

सुनिश्चित नहीं हैं कि तुम क्यों 3. इस्तेमाल किया शीर्ष होगा कि। आपने जो कहा वह कहने में आपको और अधिक पूर्ण होने की आवश्यकता हो सकती है। मेरा जवाब मान लिया गया कि आप जानते थे कि किसी मौजूदा कोड के कोड से नया फ़ंक्शन कैसे बनाया जाए। मुझे पक्षों का एक स्विच मिलता है, हालांकि आपको अभी भी पैरा() के साथ मार्जिन समायोजित करने की आवश्यकता होगी। –

+0

मैंने एक्स धुरी के लिए 3 और y अक्ष के लिए 2 का उपयोग किया क्योंकि मैं उन्हें क्रमशः शीर्ष पर और बाईं ओर चाहता था। – James

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