में किए गए हैं, मैं संभावनाओं की मात्रा के साथ थोड़ा सा खो गया हूं, और नेट पर खोजने के लिए संघर्ष को एक सरल समस्या के बारे में एक सरल उत्तर ।एकाधिक ggplot2 प्लॉट्स के ग्रिड जो एक नए ggplot2 उपयोगकर्ता के रूप में लूप
मैं एक ही चादर पर ggplot2 से कई भूखंड प्रदर्शित करना चाहता हूं, लेकिन यह जानकर कि ये भूखंड लूप से आते हैं।
निम्न उदाहरण संकलित करता है नहीं है, यह केवल वर्णन करने के लिए है:
for(i in c(1:n)){
for(j in c(1:m)){
.......... # some data production
p <- ggplot(df.all) + geom_bar(aes_string(x=class.names[i],fill=var.names[j])
}}
यहाँ, पी ओवरराइट है, लेकिन मैं बजाय एक मैट्रिक्स या एक सूची है, जिसमें मैं के रूप में सभी पी रख सकते हैं करना चाहते हैं वे उत्पादन कर रहे हैं, तो
display_in_a_grid(list_of_ggplot_plots)
लेकिन जैसे एक साधारण समारोह के रूप में जहाँ तक मैं करने की कोशिश की, मैं साजिश के मैट्रिक्स की एक सूची बनाने के लिए, न तो एक समारोह है कि निवेश के लिए केवल एक ही तर्क लेता खोजने के लिए सक्षम नहीं था।
चीजें मैं पर एक नज़र पड़ा है के बारे में:
"arrangeGrob" पैकेज क्योंकि यह प्रत्येक भूखंड के लिए एक स्पष्ट नाम की आवश्यकता है gridExtra काम नहीं करता है से (जैसे: p1, p2, p3, ...) की तरह
आप इस का प्रबंधन करने का आसान तरीका होगा: http://code.google.com/p/gridextra/wiki/arrangeGrob
में "पहलू" ggplot2 की विधि अपने डेटा सेट के संगठन (पी या विपरीत) के लिए अनुकूल नहीं है?
धन्यवाद,
फ़्राँस्वा
आप सही रास्ते पर हैं। यदि आप विभिन्न मामलों के बार बार चार्ट तैयार कर रहे हैं, तो एकाधिक पहलुओं वाला एक साजिश मानक दृष्टिकोण है। एकाधिक भूखंडों के लिए एक हैक खोजने के बजाय, यह संभवतः इसे प्राप्त करने के लिए उपयुक्त फ़ॉर्म में हेरफेर करना सबसे अच्छा होगा। –
धन्यवाद। मैं मानता हूं कि यह निश्चित रूप से सबसे तर्कसंगत समाधान है। बात यह है कि प्रत्येक अलग साजिश के लिए, मैं कुछ डेटा उपचार (कुल छोटे वर्ग और पूर्ण ची स्क्वायर टेस्ट) बनाना चाहता हूं और पी-वैल्यू को इंडुविडुअल प्लॉट शीर्षक के रूप में प्रदर्शित करना चाहता हूं। तो यह निश्चित रूप से पहलू विधि में शामिल करना संभव है, लेकिन मुझे लगता है कि मुझे किसी बिंदु पर किसी भी तरह से एक पी लूप का उपयोग करना होगा। – fstevens
आप पी मानों के साथ प्रत्येक पहलू को एनोटेट करने के लिए 'geom_text' का उपयोग कर सकते हैं। –