2012-02-01 16 views
12

द्वितीयक वाई धुरी जोड़ना, मूल वाई धुरी में से एक को स्केल किया गया। यह विषय नया नहीं है। यह छुआ समय है, उदाहरण के लिए on this ggplot2 google groups thread। हैडली की सलाह के बाद, मैंने माध्यमिक वाई अक्ष को geom_vline, geom_segment, और geom_text द्वारा जोड़ने का प्रयास किया। लेकिन, यह अभी भी बदसूरत है।ggplot2 प्लॉट्स में द्वितीयक वाई धुरी जोड़ें - इसे सही बनाएं

तो मैं इसे सही बनाने के लिए आपकी मदद मांगूंगा। मुझे लगता है कि कई ggplot2 उपयोगकर्ताओं को इस विषय में रुचि होगी और आपकी कोई विशेषज्ञता या योगदान पसंद करेंगे। अग्रिम में धन्यवाद।

######################################### 
# what I have gotten. 
library(ggplot2) 

# build up a box plot 
p <- ggplot(mtcars, aes(factor(cyl), mpg)) 

# add the secondary y axis on right side of the plot 
p + geom_boxplot() + geom_vline(xintercept = 3.5) + 
geom_segment(aes(x=3.49, y=c(7,14,21,28), xend = 3.52, yend = c(7,14,21,28))) + 
geom_text(aes(x=3.55, y=c(7,14,21,28), label=c(7,14,21,28))) 
+0

आम तौर पर यह secodary y- अक्ष का प्रयोग उचित नहीं है ... – jrara

+1

खेद है कि मैं क्या चाहते हैं वास्तव में नहीं एक माध्यमिक y- अक्ष, यह सिर्फ एक लेबल है। कभी-कभी यह लेबल आवश्यक है। –

+0

आप इस तथ्य को प्रतिबिंबित करने के लिए अपने प्रश्न को संपादित करना चाहेंगे कि आप एक अतिरिक्त लेबल चाहते हैं। मैंने अभी एक समान प्रश्न पूछा है, लेकिन संदर्भ के संदर्भ में विशिष्ट: http://stackoverflow.com/questions/11353287/how-do-you-add-a-general-label-to-facets-in-ggplot2 –

उत्तर

2

हैकिंग से बचने के लिए, आपको facet_grid बजाय का उपयोग हो सकता है। आपके डेटा के आधार पर, आप इसे अधिक सामान्य माध्यमिक अक्ष में बनाने के लिए इसे बहुत अच्छी तरह से अनुकूलित कर सकते हैं।

library(ggplot2) 
ggplot(mtcars, aes(factor(cyl), mpg)) + 
    geom_boxplot() + 
    facet_grid(cyl ~., scales = "free") 

enter image description here

+1

बहुत धन्यवाद, एसिड पर प्रिय गीक। यह एक विकल्प है। लेकिन, यह वही नहीं है जो मैं चाहता हूं। मेरे असली मामले में, मेरे पास एक्स-अक्ष के 50 से अधिक स्तर हैं। हमारी आंखों के लिए> 50 पहलुओं के साथ साजिश देखना बहुत मुश्किल है। –

संबंधित मुद्दे