2011-11-08 19 views
5

का लेआउट बदलें, अगर मैं build_legend फ़ंक्शन को फिर से लिखने के बिना ggplot किंवदंती के लेआउट को बदलना संभव हूं तो उत्सुक हूं?ggplot legend

उदाहरण के लिए:

मैं एक 2 * 2 लेआउट चाहते

एक ख
ग घ

बजाय सामान्य 1 * 4 या 4 * 1 लेआउट।

एक ख ग घ

या

एक


कई धन्यवाद,

एमके

+1

कृपया पोस्ट को पार न करें - यह लोगों के समय का जवाब देने वाले प्रश्नों को बर्बाद कर देता है जिन्हें पहले ही कहीं और उत्तर दिया जा सकता है। – hadley

+0

धन्यवाद हैडली, मैंने सोचा कि केवल मेलिंग सूचियों के बीच ही सीमित था। – MKao

+0

मैं अपने स्वयं के प्रश्न (कोहस्के के समाधान और क्रेडिट के साथ) का जवाब देने जा रहा था, इसलिए अन्य लोग जो मेलिंग सूची पर नहीं हैं, इसे देख सकते हैं, लेकिन जब मैं अपने प्रश्न का उत्तर दे सकता था तब समय पर प्रतिबंध था इसलिए मैं पोस्ट नहीं कर सका यह। – MKao

उत्तर

3

मैं वास्तव में इस सोचते हैं ggplot2 के साथ संभव है, आप वास्तव में केवल दो विकल्प हैं - क्षैतिज या लंबवत। यदि आप कुछ फैनसीयर बनाना चाहते हैं, तो आपको एक ही रंग योजना के साथ एक सबप्लॉट बनाकर इसे अपने आप करना होगा, इसे अपने साजिश पर आकार बदलना और ओवरले करना होगा (मैं कुछ छोटे facet_grid() की तरह कुछ कल्पना करूँगा जहां भी यह उपयुक्त हो)।

... + opts(legend.direction="horizontal") 
... + opts(legend.direction="vertical") 
0

कोहस्के ने समस्या का समाधान पोस्ट किया है, हालांकि यह ggplot के अगले संस्करण तक उपलब्ध नहीं होगा।

qplot(1:4, 1:4, colour = letters[1:4]) + guides(colour = guide_legend(nrow = 2, byrow = T)) 
+0

ggplot2 सूची पर आपके प्रश्न पर कोहस्के की प्रतिक्रिया से लिंक करें: http://groups.google.com/group/ggplot2/msg/4a8b39ff690eaf48 –

+0

संपादन और लिंक के लिए धन्यवाद competent_tech और ब्रायन धन्यवाद। मैं अपने कोड और मानक को प्रारूप में रखने के लिए अपनी पूरी कोशिश करूंगा। चीयर्स, – MKao