दिलचस्प पोस्ट
मैक से आप पूरी तरह से इओनिक और कॉर्डोवा इंस्टॉलेशन कैसे हटा सकते हैं? एचटीटीपीएलएलटी के साथ एएसपी.नेट वेब एपीआई सेवा को प्रमाणित करने में असमर्थ PHP का उपयोग कर वेब रूट के बाहर दस्तावेज़ों को कैसे प्रदान करें? एएसपी.नेट एमवीसी 3 – डेटटाइम प्रारूप कब और क्यों मुझे session_regenerate_id () का उपयोग करना चाहिए? कैसे कमांड लाइन से Makefile तर्क को पारित करने के लिए? मैं एसएसीएल में वीएआरएआरएआर से क्यों चुनूँगा? एक निश्चित पृष्ठभूमि रंग के साथ तत्वों का चयन करना गूंज "#!" विफल – "घटना नहीं मिला" Xcode बिल्ड विफलता "आर्किटेक्चर के लिए अनिर्धारित प्रतीकों x86_64" Windows सर्वर 2003 में अधिकतम संख्या के थ्रेड क्या हैं? @ फ़ॉन्ट-चेहरे का स्रोत: स्थानीय – उपयोगकर्ता के पास पहले से ही है तो स्थानीय फ़ॉन्ट का उपयोग कैसे करें? Matplotlib ओवरलैपिंग एनोटेशन पीएचपी में फ़ाइल कैसे खोलें, जिसका नाम यूनिकोड वर्ण है? सर्वश्रेष्ठ जावास्क्रिप्ट कम्प्रेसर

ggplot2 और नकारात्मक मूल्यों वाला एक स्टैक्ड बार चार्ट

निम्न डेटासेट को देखते हुए:

Division Year OperatingIncome 1 A 2012 11460 2 B 2012 7431 3 C 2012 -8121 4 D 2012 15719 5 E 2012 364 6 A 2011 12211 7 B 2011 6290 8 C 2011 -2657 9 D 2011 14657 10 E 2011 1257 11 A 2010 12895 12 B 2010 5381 13 C 2010 -2408 14 D 2010 11849 15 E 2010 517 

मैं ggplot2 में एक स्टैक्ड बार चार्ट कैसे पूरा करूं जिसमें ऋणात्मक मूल्य शामिल हैं? यहां मूल चार्ट क्रम का उपयोग किया जा रहा है I

 ggplot(income_m, aes(x=Year, y=OperatingIncome, fill=Division)) + geom_bar() + + scale_fill_brewer(type = "seq", palette = 1) 

यह एक त्रुटि देता है:

चेतावनी संदेश: यममान = 0 पर स्टैकिंग ठीक से परिभाषित नहीं है

और अपेक्षित परिणाम के बजाय – एक्स अक्ष के नीचे प्रदर्शित होने वाले नकारात्मक मान – वे स्टैक्ड बार चार्ट में मौजूद नहीं हैं। क्या चार्ट को सभी मूल्यों के साथ उत्पन्न करने का एक तरीका है, दोनों सकारात्मक और नकारात्मक, के लिए जिम्मेदार है?

Solutions Collecting From Web of "ggplot2 और नकारात्मक मूल्यों वाला एक स्टैक्ड बार चार्ट"

अद्यतन करें : ggplot2 2.2.0 के रूप में, सकारात्मक और नकारात्मक मानों के लिए अलग-अलग परतों को बनाने के बिना, नकारात्मक मानों के लिए स्टैकिंग स्वचालित रूप से नियंत्रित किया जाता है।

अगर मैं समझता हूं कि आप क्या चाहते हैं, तो चाल अलग-अलग परतों में दो सकारात्मक और नकारात्मक डेटा डालनी है, और stat = "identity" का भी उपयोग करना है:

 dat <- read.table(text = " Division Year OperatingIncome 1 A 2012 11460 2 B 2012 7431 3 C 2012 -8121 4 D 2012 15719 5 E 2012 364 6 A 2011 12211 7 B 2011 6290 8 C 2011 -2657 9 D 2011 14657 10 E 2011 1257 11 A 2010 12895 12 B 2010 5381 13 C 2010 -2408 14 D 2010 11849 15 E 2010 517",header = TRUE,sep = "",row.names = 1) dat1 <- subset(dat,OperatingIncome >= 0) dat2 <- subset(dat,OperatingIncome < 0) ggplot() + geom_bar(data = dat1, aes(x=Year, y=OperatingIncome, fill=Division),stat = "identity") + geom_bar(data = dat2, aes(x=Year, y=OperatingIncome, fill=Division),stat = "identity") + scale_fill_brewer(type = "seq", palette = 1) 

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