2012-11-08 16 views
107

में धुरी पाठ का फ़ॉन्ट आकार और दिशा बदलना मैं एक्स अक्ष पर एक स्पष्ट चर के साथ ग्राफ और y अक्ष पर एक संख्यात्मक चर के साथ ग्राफ की योजना बना रहा हूं।ggplot2

एक्स अक्ष के लिए, यह देखते हुए कि कई डेटा पॉइंट हैं, डिफ़ॉल्ट टेक्स्ट स्वरूपण प्रत्येक टिक चिह्न के लेबल को अन्य लेबल के साथ ओवरलैप करने का कारण बनता है। मैं (ए) अपने अक्ष पाठ के लिए फ़ॉन्ट आकार कैसे बदल सकता हूं और (बी) पाठ के उन्मुखीकरण को बदलता हूं ताकि पाठ धुरी के लंबवत हो?

+0

और एक और एक http://stackoverflow.com/q/8097642/1172302 –

उत्तर

164

उपयोग theme():

d <- data.frame(x=gl(10, 1, 10, labels=paste("long text label ", letters[1:10])), y=rnorm(10)) 
ggplot(d, aes(x=x, y=y)) + geom_point() + 
    theme(text = element_text(size=20), 
     axis.text.x = element_text(angle=90, hjust=1)) 
#vjust adjust the vertical justification of the labels, which is often useful 

enter image description here

नहीं है कि कैसे अपने ggplots here फ़ॉर्मेट करने के लिए के बारे में अच्छी जानकारी के बहुत सारे। आप ?theme का उपयोग कर संशोधित पैरामीटर की एक पूरी सूची देख सकते हैं (मूल रूप से, उनमें से सभी)।

+1

मुझे लगता है कि यह 'होना चाहिए hjust = 1'। –

+0

सच है! प्रति आर्टिम की टिप्पणी को सही किया गया, लेकिन मैंने छवि को अपडेट नहीं किया। –

36

theme() के उपयोग पर डिट्टो @ ड्रू स्टीन। धुरी पाठ और खिताब के लिए यहां सामान्य थीम विशेषताएं हैं।

ggplot(mtcars,aes(x=factor(cyl),y=mpg))+ 
    geom_point()+ 
    theme(axis.text.x = element_text(colour="grey20",size=20,angle=90,hjust=.5,vjust=.5,face="plain"), 
     axis.text.y = element_text(colour="grey20",size=12,angle=0,hjust=1,vjust=0,face="plain"), 
     axis.title.x = element_text(colour="grey20",size=12,angle=0,hjust=.5,vjust=0,face="plain"), 
     axis.title.y = element_text(colour="grey20",size=12,angle=90,hjust=.5,vjust=.5,face="plain")) 
2

"भरने" विशेषता का उपयोग करके इस तरह के मामलों में मदद मिलती है। आप element_blank() का उपयोग करके अक्ष से टेक्स्ट को हटा सकते हैं और एक किंवदंती के साथ बहु रंग बार चार्ट दिखा सकते हैं। मैं के रूप में

ggplot(data=df_subset,aes(x=Part,y=Removal_Frequency,fill=Part))+geom_bar(stat="identity")+theme(axis.text.x = element_blank()) 

नीचे मैं मेरे मामले में इस समाधान के लिए चला गया के रूप में मैं बार चार्ट में कई बार किया था और मैं एक उपयुक्त फ़ॉन्ट आकार जो दोनों है खोजने के लिए सक्षम नहीं था एक की मरम्मत की दुकान में एक हिस्सा हटाने आवृत्ति की साजिश रचने कर रहा हूँ एक दूसरे को ओवरलैप न करने के लिए पर्याप्त पठनीय और छोटा भी।

11

उपयोग विषय():

d <- data.frame(x=gl(10, 1, 10, labels=paste("long text label ", letters[1:10])), y=rnorm(10)) 
ggplot(d, aes(x=x, y=y)) + geom_point() + 
theme(text = element_text(size=20)) 
3

पिछले समाधान करने के लिए जोड़ा जा रहा है, तो आप भी फ़ॉन्ट आकार base_size को रिश्तेदार ऐसे theme_bw() जैसे विषयों (जहां base_size 11 है) में शामिल rel() समारोह का उपयोग कर निर्दिष्ट कर सकते हैं ।

उदाहरण के लिए:

ggplot(mtcars, aes(disp, mpg)) + 
    geom_point() + 
    theme_bw() + 
    theme(axis.text.x=element_text(size=rel(0.5), angle=90))