2010-08-12 6 views
5

मैं नीचे दिए गए आरेख में अस्पतालों के ढेर क्रम को बदलना चाहता हूं, इसलिए # 1 शीर्ष पर है और नीचे # 4 है।ggplot: एकाधिक बॉक्सप्लॉट के लंबवत क्रम को कैसे निर्दिष्ट करें?

आरेख

ggplot(survey,aes(x=hospital, y=age))+geom_boxplot()+coord_flip()+xlab("")+ylab ("\nPatient Age") 

साथ पेश किया गया है और मैं आदेश अब क्या है के विपरीत होने के लिए नीचे शीर्ष> की जरूरत है। मुझे यकीन नहीं है कि यह अब ऐसा क्यों आता है। मामले में 'अस्पताल' कॉलम एक कारक है।

बहुत धन्यवाद!

alt text

उत्तर

10

आप कुछ ही विकल्प हैं।

p + scale_x_reverse() 

प्लॉट में सबसे आसान होगा। तुम भी कारक

relevel(survey$hospital, rev(levels(survey$hospital))) -> survey$hospital 

के स्तर को रिवर्स कर सकता है या, आप xlim()

p + xlim("Hospital #4","Hospital #3","Hospital #2","Hospital #1") 
+0

शब्दार्थ के साथ आपको हाथ से बक्से चाहते हैं निर्धारित कर सकते हैं, मुझे लगता है कि दूसरा विकल्प सबसे अच्छा है। यह साजिश कोड से डेटा के रूप में हेरफेर अलग करता है। –

+0

पहला व्यक्ति एक त्रुटि देता है: त्रुटि: स्केल_एक्स_रेवर्स को प्रदान किए जाने वाले गैर-निरंतर चर। इसके अतिरिक्त: चेतावनी संदेश: ओपीएस.फैक्टर (x) में: - कारकों के लिए अर्थपूर्ण नहीं लेकिन तीसरा एक ठीक काम करता था। मैंने उन्हें रिलीज़ नहीं किया क्योंकि अगर मैं सर्वेक्षण $ अस्पताल प्रदर्शित करता हूं, तो वे पहले ही प्राकृतिक आदेश (1, 2, 3, 4) में स्तरित हैं। – wishihadabettername

+1

मुझे लगता है कि 'scale_x_reverse' केवल निरंतर मानों के लिए है। –