2012-05-31 21 views
53

क्या साजिश शीर्षक और इसके नीचे साजिश क्षेत्र (डेटा के साथ बॉक्स) के बीच की जगह को बढ़ाने का कोई आसान तरीका है। इसी तरह, मैं धुरी शीर्षक और धुरी लेबल के बीच कुछ जगह रखना पसंद करूंगा।ggplot2 साजिश क्षेत्र मार्जिन?

दूसरे शब्दों में, "शीर्षक को थोड़ा ऊपर ले जाने, वाई अक्ष शीर्षक थोड़ा सा बाएं, और एक्स अक्ष शीर्षक थोड़ा नीचे" करने का कोई तरीका है?

+0

आप नई लाइनों को मजबूर करने के लिए हमेशा कुछ \ "\ n" 'अक्षरों को शीर्षक में पेस्ट कर सकते हैं। – joran

उत्तर

72

आप theme() में plot.margin साथ साजिश मार्जिन समायोजित कर सकते हैं और फिर element_text() की vjust तर्क के साथ अपने अक्ष लेबल और शीर्षक के लिए कदम। उदाहरण के लिए:

enter image description here

आप अलग अलग theme() मापदंडों और उनके तर्कों के बारे में अधिक जानकारियां, तो आप सिर्फ आर प्रॉम्प्ट पर ?theme दर्ज कर सकते हैं चाहते हैं:

library(ggplot2) 
library(grid) 
qplot(rnorm(100)) + 
    ggtitle("Title") + 
    theme(axis.title.x=element_text(vjust=-2)) + 
    theme(axis.title.y=element_text(angle=90, vjust=-0.5)) + 
    theme(plot.title=element_text(size=15, vjust=3)) + 
    theme(plot.margin = unit(c(1,1,1,1), "cm")) 

आप कुछ इस तरह दे देंगे।

+4

धन्यवाद! मुझे यह सुनिश्चित नहीं था कि 'plot.margin' तर्क के लिए यह काम करने के लिए' ग्रिड :: इकाइयों 'को क्या प्रदान किया जाए। बाहर निकलता है आपको 'इकाइयों' के लिए लंबाई -4 संख्यात्मक प्रदान करना होगा। 'इकाइयों' के लिए 'x' तर्क बहुत खराब है, किसी भी तरह से पुनर्नवीनीकरण नहीं किया जाता है। साथ ही, आप शायद पहले से ही यह जानते हैं, लेकिन 'opts' को नोट करने/अद्यतन करने के लायक है अब ggplot2 (0.9.2+) के नवीनतम संस्करण में हटा दिया गया है, जिसे' थीम 'द्वारा प्रतिस्थापित किया गया है, जैसा कि' theme_text' 'अब 'element_text' द्वारा प्रतिस्थापित किया गया है । –

+8

plot.margin के लिए किनारों का क्रम इकाई है (सी (शीर्ष, दाएं, नीचे, बाएं), इकाइयां) यदि कोई और उस समय को सहेजना चाहता है। – mightypile

+0

@mightypile यह आधार आर से विपरीत है! गाह! क्यूं कर???!??! –

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