के साथ log10 पैमाने पर केवल एक धुरी को ट्रांसफ़ॉर्म करें मुझे निम्न समस्या है: मैं एक बॉक्सप्लॉट पर एक असतत और निरंतर चर को विज़ुअलाइज़ करना चाहता हूं जिसमें बाद वाले कुछ चरम उच्च मान हैं। यह बॉक्सप्लॉट को अर्थहीन बनाता है (चार्ट और यहां तक कि चार्ट का "बॉडी" बहुत छोटा है), यही कारण है कि मैं इसे लॉग 10 स्केल पर दिखाना चाहता हूं। मुझे पता है कि मैं विज़ुअलाइज़ेशन से चरम मूल्यों को छोड़ सकता हूं, लेकिन मेरा इरादा नहीं है।ggplot2
चलो हीरे डेटा के साथ एक सरल उदाहरण देखें:
m <- ggplot(diamonds, aes(y = price, x = color))
समस्या यहां गंभीर नहीं है, लेकिन मुझे आशा है कि आप कल्पना कर कारण है कि मैं एक log10 पैमाने पर मूल्यों देखना चाहेंगे सकता है । यह कोशिश करते हैं:
m + geom_boxplot() + coord_trans(y = "log10")
आप देख सकते हैं y अक्ष log10 बढ़ाया है और ठीक लग रहा है लेकिन वहाँ जो साजिश बहुत ही अजीब बनाता एक्स अक्ष, के साथ एक समस्या है।
समस्या scale_log
के साथ नहीं होती है, लेकिन यह मेरे लिए का विकल्प नहीं है, क्योंकि मैं इस तरह एक कस्टम फ़ॉर्मेटर का उपयोग नहीं कर सकता। उदा .:
m + geom_boxplot() + scale_y_log10()
मेरा प्रश्न: क्या किसी को y अक्ष पर log10 पैमाने जो लेबल स्वतंत्र रूप से इस thread में एक formatter
समारोह की तरह के साथ स्वरूपित किया जा सकता है के साथ boxplot प्लॉट करने के लिए एक समाधान पता है?
सवाल का संपादन जवाब और टिप्पणियों के आधार पर answerers मदद करने के लिए:
मैं क्या कर रहा हूँ वास्तव में के बाद: एक log10 तब्दील वैज्ञानिक नहीं लेबल के साथ धुरी (y)। मैं इसे (formatter=dollar)
या किसी भी कस्टम प्रारूप की तरह लेबल करना चाहता हूं।
अगर मैं कोशिश @ हैडली के सुझाव मैं निम्नलिखित चेतावनी मिलती है:
> m + geom_boxplot() + scale_y_log10(formatter=dollar)
Warning messages:
1: In max(x) : no non-missing arguments to max; returning -Inf
2: In max(x) : no non-missing arguments to max; returning -Inf
3: In max(x) : no non-missing arguments to max; returning -Inf
एक अपरिवर्तित y अक्ष लेबल की मदद से
:
टी टोपी 'coord_trans' में एक बग है - लेकिन आप कस्टम लेबल को' scale_y_log10' 'निर्दिष्ट कर सकते हैं ... – hadley
धन्यवाद @ हैडली, मुझे कुछ याद करना चाहिए लेकिन उदाहरण के लिए।'+ scale_y_continous (फॉर्मेटर = डॉलर) 'बस काम न करें। मैं दिए गए किसी भी फॉर्मेटर का परिणाम नहीं देख सकता हूं और मुझे अधिकतम 'अधिकतम (x) भी मिलता है: अधिकतम में कोई अनुपलब्ध तर्क नहीं; वापसी -Inf चेतावनी संदेश। – daroczig
@ डारॉक्सजिग: फ़ॉर्मेटर तर्क के लिए मैंने जो उदाहरण देखे हैं उनमें सभी उद्धृत नाम शामिल हैं, इसलिए शायद 'फॉर्मेटर = "डॉलर" '? –