दिलचस्प पोस्ट
अधिकतम पोस्ट आकार बढ़ाना पायथन एक बच्चे को उपप्रक्रिया, अलग करना, और बाहर निकलने से उत्पन्न होता है xmlHttpRequest के माध्यम से एक फ़ाइल को बहुस्तृत के रूप में भेजना IOS 7 में संपर्क लाएं MVC3 DropDownListFor – एक सरल उदाहरण? आर में असाइनमेंट ऑपरेटर: '=' और '<-' ब्राउज़र से फ़ाइल के रूप में JSON ऑब्जेक्ट डाउनलोड करें डेटा कंटेंट्रेट XML सीरियलाइज़ेशन और एक्सएमएल गुण पायथन शब्दकोश कुंजी "में" जटिलता शॉर्टहैड http: // as // स्क्रिप्ट और लिंक टैग के लिए? इससे पहले किसी को भी इसका इस्तेमाल / देख सकते हैं? किसी भी डेटा स्तंभ में प्रत्येक निर्दिष्ट कॉलम में समान फ़ंक्शन कैसे लागू करें क्या हैंडल के लिए एफडीओपीन के बराबर विंडोज है? दस्तावेज़ों को कैसे ठीक से मर्ज करना है? दो NSString ऑब्जेक्ट की तुलना करते समय "a == b" झूठा है PDFBox के साथ पीडीएफ फाइलों को पार्स करना (विशेषकर तालिकाओं के साथ)

रिवर्स स्टैक्ड बार ऑर्डर

मैं इस तरह ggplot का उपयोग कर एक खड़ी बार चार्ट बना रहा हूँ:

plot_df <- df[!is.na(df$levels), ] ggplot(plot_df, aes(group)) + geom_bar(aes(fill = levels), position = "fill") 

जो मुझे इस तरह से कुछ देता है:

यहां छवि विवरण दर्ज करें

मैं ऑर्डर को स्टैक्ड सलाखों को कैसे बदलूं, ताकि स्तर 1 नीचे हो, और स्तर 5 प्रत्येक बार के शीर्ष पर है?

मैंने इस पर कई प्रश्नों को देखा है (उदाहरण के लिए कैसे ggplot2 पर पहचान का उपयोग करते हुए स्टैक्ड बार चार्ट के आदेश को नियंत्रित करने के लिए ) और सामान्य समाधान उस स्तर के डेटाफ़्रेम को पुन: क्रमबद्ध करने के लिए लगता है जैसा कि ggplot आदेश का निर्धारण करने के लिए उपयोग कर रहा है

इसलिए मैंने dplyr का इस्तेमाल करने की कोशिश की है:

plot_df <- df[!is.na(df$levels), ] %>% arrange(desc(levels))

हालांकि, भूखंड एक ही बाहर आता है। यह भी एक अंतर बनाने के लिए प्रतीत नहीं होता है कि क्या मैं आरोही या अवरोही आदेश की व्यवस्था करता हूं

यहां एक प्रतिलिपि प्रस्तुत करने योग्य उदाहरण है:

 group <- c(1,2,3,4, 1,2,3,4, 1,2,3,4, 1,2,3,4, 1,2,3,4, 1,2,3,4) levels <- c("1","1","1","1","2","2","2","2","3","3","3","3","4","4","4","4","5","5","5","5","1","1","1","1") plot_df <- data.frame(group, levels) ggplot(plot_df, aes(group)) + geom_bar(aes(fill = levels), position = "fill") 

वेब के समाधान से एकत्रित समाधान "रिवर्स स्टैक्ड बार ऑर्डर"

स्टैकिंग बार पर ggplot2 संस्करण 2.2.0 के रिलीज़ नोट्स सुझाव देते हैं :

यदि आप विपरीत क्रम में ढेर करना चाहते हैं, तो forcats::fct_rev() प्रयास करें

 library(ggplot2) # version 2.2.1 used plot_df <- data.frame(group = rep(1:4, 6), levels = factor(c(rep(1:5, each = 4), rep(1, 4)))) ggplot(plot_df, aes(group, fill = forcats::fct_rev(levels))) + geom_bar(position = "fill") 

रिवर्स स्तर

यह मूल साजिश है :

 ggplot(plot_df, aes(group, fill = levels)) + geom_bar(position = "fill") 

मूल साजिश

या, अपनी टिप्पणी में एलिस्टिअर द्वारा सुझाई गई स्थिति_फिल position_fill(reverse = TRUE) का उपयोग करके:

 ggplot(plot_df, aes(group, fill = levels)) + geom_bar(position = position_fill(reverse = TRUE)) 

यहां छवि विवरण दर्ज करें

ध्यान दें कि किंवदंती के स्तर (रंग) एक ही क्रम में नहीं हैं जैसे कि स्टैक्ड बार में।