2013-11-01 7 views
5

मैं levelplot (जाली) के साथ आर में एक संबंध हीटमैप बना रहा हूं हटा दें। मुझे बक्से के बीच सीमाएं चाहिए, लेकिन बाहर के साथ नहीं, क्योंकि यह साजिश सीमा में हस्तक्षेप करता है। मैं बॉक्स से बाहरी सीमाओं को कैसे हटा सकता हूं?आर levelplot बाहरी सीमा (साजिश सीमा समायोजित)

यहाँ मेरी कोड है:

levelplot(matrix, border="black", 
      colorkey=list(height=.25, space="right", at=seq(-1, 1, .25), cuts=7), 
      scales=list(y=(list(cex=1)), tck = c(1,0), x=list(cex=1, rot=90)), 
      main="Leaf Correlations", xlab="", ylab="", 
      col.regions=scalebluered) 

और यहाँ यह कैसा दिखाई देता है .. मैं किनारों पर डबल लाइनों पसंद नहीं है है ..

enter image description here

संपादित करें: यहाँ

data(mtcars) 
cars.matrix <- as.matrix(mtcars[c(2:8)]) 
cars.corr <- cor(cars.matrix) 
levelplot(cars.corr, border="black", colorkey=list(height=.25, space="right", 
      at=seq(-1, 1, .25), cuts=7), 
      scales=list(y=(list(cex=1)), tck = c(1,0), x=list(cex=1, rot=90)), 
      xlab="", ylab="") 
+0

शायद हटाने इसके बजाय बाहरी बाउंडिंग बॉक्स? मेरे जाली कुछ पुरानी हैं, लेकिन शायद 'तरह par.settings = सूची (axis.line = सूची कुछ (LWD = है 0)', या हो सकता है 'col =" सफेद "' शायद। – joran

+0

हममम ... कि दूर करने के लिए लगता है सभी लाइनें, जिनमें टिक शामिल हैं ... – joran

+0

कोई भी मौका आप कम से कम पुनरुत्पादित उदाहरण बना सकते हैं? –

उत्तर

4

ठीक है, यह के लिए ठीक सरल करता है, तो थोड़ा अस्पष्ट है।

बस कारकों के लिए इस्तेमाल किया axis.padding का मूल्य पुनर्स्थापित करने के लिए, यह 0.6 (एक छोटे से गद्दी) की उसके डिफ़ॉल्ट मान से 0.5 (कोई गद्दी) के लिए बदल रहा lattice.options() उपयोग करें, और आप ठीक होना चाहिए:

lattice.options(axis.padding=list(factor=0.5)) 

## An example to show that this works 
data(mtcars) 
cars.matrix <- as.matrix(mtcars[c(2:8)]) 
cars.corr <- cor(cars.matrix) 
levelplot(cars.corr, border="black", colorkey=list(height=.25, space="right", 
      at=seq(-1, 1, .25), cuts=7), 
      scales=list(y=(list(cex=1)), tck = c(1,0), x=list(cex=1, rot=90)), 
      xlab="", ylab="") 

enter image description here

संभवतः उपयोगी-भविष्य-संदर्भ के लिए, मैंने prepanel.default.levelplot() द्वारा उपयोग किए गए कोड पर तुरंत नज़र डालने के द्वारा इसे निकाला। (विभिन्न prepanel.*** काम करता है,, जिम्मेदार हैं अन्य बातों के अलावा निर्देशांक और कम से कम क्षेत्र है कि प्रत्येक पैनल के लिए आवंटित किया जाना चाहिए ताकि वस्तुओं में यह सब सुंदरता से फिट होगा साजिश रची जा करने के लिए निर्धारित करने के लिए।)

head(prepanel.default.levelplot, 4) 

1 function (x, y, subscripts, ...)      
2 {             
3  pad <- lattice.getOption("axis.padding")$numeric 
4  if (length(subscripts) > 0) { 
+0

धन्यवाद! यकीन नहीं है कि मैंने कभी यह पता लगाया होगा! इस बीच, मैंने कुछ उत्कृष्ट विकल्पों के लिए corrplot लाइब्रेरी की खोज की और मेरी ज़रूरतों के लिए स्तरीय प्लॉट को अनुकूलित करने की कोशिश करने के लिए मेरे लिए एक बेहतर मार्ग हो सकता है। उपरोक्त मेरे उदाहरण का उपयोग करके, यह मुझे भी प्राप्त करता है जो मुझे चाहिए: 'लाइब्रेरी (corrplot) corrplot (cars.corr, method =" छाया ", shade.col = NA, tl.col =" black ", tl.srt = 45, addgrid.col = "काला") ' – Paul

+1

@Paul - बोधगम्य हालांकि मैं अभी कुछ नोट है कि उम्मीद है कि विचार प्रक्रिया है कि मुझे लगता है कि विकल्प आपको और संभवतः दूसरों के द्वारा एक छोटे से अधिक प्रतिलिपि प्रस्तुत करने योग्य करने के लिए नेतृत्व कर जोड़ दिया है। –

1

खुदाई का एक सा पता चलता: एक प्रतिलिपि प्रस्तुत करने योग्य उदाहरण है। उदाहरण के लिए, par (bty = 'n') won't work in this levelplot example

आधार आर ग्राफ के विपरीत, जाली ग्राफ पैरा() फ़ंक्शन में सेट विकल्पों में से कई द्वारा प्रभावित नहीं होते हैं। विकल्पों को देखने के लिए जिन्हें बदला जा सकता है, सहायता (xyplot) देखें। इन विकल्पों को उच्च स्तरीय साजिश कार्यों के भीतर सेट करना अक्सर सबसे आसान होता है ... आप उन कार्यों को लिख सकते हैं जो पैनलों के प्रतिपादन को संशोधित करते हैं।

अक्ष रंग विधि आला ग्राफिक Yangchen Lin यहाँ द्वारा सुझाए में सीधे गुजर का प्रयास करें: R lattice 3d plot: ticks disappear when changing panel border thickness

axis.line = list(col='transparent') 
+0

कोशिश की, ऐसा कुछ नहीं लगता .. – Paul

+0

यह नहीं पता कि यह इस विशिष्ट उदाहरण में काम करता है, लेकिन धुरी लाइनों से छुटकारा पाने का पूरा विकल्प 'par.settings = list (axis.line = list (col =" पारदर्शी ") होगा। – user1521655

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