2011-11-29 17 views
7

graphics लाइब्रेरी से polygon() (या समान कार्य के साथ बनाए गए तत्व) के साथ बनाए गए तत्वों के साथ lattice (या ggplot2) आंकड़ों को एनोटेट करना संभव है?क्या कोई जाली और ggplot2 भूखंडों में बहुभुज() या समकक्ष का उपयोग कर सकता है?

मैं वेब पर पोस्ट किए गए सरल ग्राफ के उदाहरणों से परे पुस्तकालय से परिचित नहीं हूं और दीपायन सरकार की पुस्तक में मुद्रित हूं। इसलिए, जब मेरे पास graphics लाइब्रेरी के साथ आर में क्या कर रहा है, उसके लिए कोड है, तो मुझे lattice या ggplot2 के लिए प्रासंगिक, समकक्ष कार्यों और उपयोग उदाहरणों को इंगित करने के लिए विशेष रूप से सराहना की जाएगी। धन्यवाद।

+1

में '? Panel.polygon' और'? Geom_polygon' क्रमशः पहला उदाहरण के ggplot2 संस्करण है (वैसे वहाँ में कोई उदाहरण हैं जाली दस्तावेज़, लेकिन विचार मूल ग्राफिक्स बहुभुज के समान है) – baptiste

+0

महान प्रश्न। मैंने पिछले कुछ वर्षों में देखा है कि जाली के तरीके अच्छी तरह से ज्ञात नहीं हैं। टैगिंग पर भी मजबूत काम। –

+0

http://stackoverflow.com/q/3610291/269476 रुचि का हो सकता है – James

उत्तर

8

ऐसी कई विधियां हैं जो ग्राफिकल ऑब्जेक्ट्स को जाली भूखंडों में जोड़ने की अनुमति देती हैं। लैटिस एक्स्ट्रा पैकेज में layer और "+" विधियां हैं। पीकेजी में: जाली स्वयं, trellis.focus(...) के साथ मौजूदा भूखंडों में जोड़ सकते हैं, इसके बाद पैनल कॉल जैसे panel.polygon()। मैंने अतीत में इन्हें contourplot() एस एनोटेट करने के लिए उपयोग किया है।

यदि आपको मदद की (contourplot) पर उदाहरण करते हैं और उसके बाद का पालन करें कि द्वारा:

trellis.focus("panel", 1, 1) 
do.call("panel.polygon", list(x =c(5,15,15,5,5), y=c(60,60,90,90,60))) 
trellis.unfocus() 

... आप कोने ग के साथ एक आयत (5,60), ग देखना चाहिए (15,60) , सी (15,90), सी (5,90) साजिश के पैनल # 1 में रखा गया है। ध्यान दें कि thte संख्या को निचले बाएं (1,1) के रूप में bsed है। मैंने आमतौर पर उस do.call() से vlaue वापस करने के लिए ऑब्जेक्ट-ओरिएंटेशन का उपयोग नहीं किया है, लेकिन मुझे संदेह है कि यह सफल होगा।

enter image description here

11

यहाँ ?polygon()

x <- c(1:9,8:1) 
y <- c(1,2*(5:3),2,-1,17,9,8,2:9) 

ggplot(NULL, aes(1:10, 1:10)) + geom_point() + 
    geom_polygon(aes(x, y), fill = "orange", colour = "skyblue", alpha = 0.5) 

enter image description here