2010-05-01 12 views
67

मुझे आश्चर्य है कि मैं कैसे फिसलने वाले भूखंडों में स्ट्रिप टेक्स्ट के आकार में हेरफेर कर सकता हूं। मेरा प्रश्न a question on plot titles के समान है, लेकिन मैं विशेष रूप से से साजिश शीर्षक नहीं जोड़ता हूं लेकिन पाठ जो शीर्षक शीर्षक (स्ट्रिप_एच) में दिखाई देता है।मैं facet_grid भूखंडों के स्ट्रिप टेक्स्ट का उपयोग कैसे कर सकता हूं?

उदाहरण के तौर पर, एमपीजी डेटासेट पर विचार करें।

library(ggplot2) 
    qplot(hwy, cty, data = mpg) + facet_grid(. ~ manufacturer) 

जिसके परिणामस्वरूप output कुछ पहलू खिताब कि पट्टी में फिट नहीं पैदा करता है।

मुझे लगता है कि स्ट्रिप टेक्स्ट से निपटने के लिए grid का उपयोग करने का एक तरीका होना चाहिए। लेकिन मैं अभी भी हूं और grid परिशिष्ट Hadley's book में, ठीक से ऐसा करने के लिए सुनिश्चित नहीं था। इसके अलावा, मुझे डर है कि अगर मैं यह गलत इसे अपने कपड़े धोने की मशीन टूट जाएगा, क्योंकि मेरा मानना ​​है कि सभी प्रौद्योगिकी पहले से :-(

बहुत धन्यवाद सेना के माध्यम से जुड़ा हुआ है था।

उत्तर

95

आप strip.text.x संशोधित कर सकते हैं (या strip.text.y), theme_text() का उपयोग कर उदाहरण

qplot(hwy, cty, data = mpg) + 
     facet_grid(. ~ manufacturer) + 
     opts(strip.text.x = theme_text(size = 8, colour = "red", angle = 90)) 

अद्यतन के लिए: के लिए ggplot2 संस्करण> 0.9.1

qplot(hwy, cty, data = mpg) + 
     facet_grid(. ~ manufacturer) + 
     theme(strip.text.x = element_text(size = 8, colour = "red", angle = 90)) 
+0

+1 बहुत अच्छा। क्या एक्स अक्ष एनोटेशन में सुधार करने का कोई तरीका है? –

+0

धन्यवाद आरसीएस। मैं gd047 के साथ हूँ, और शायद यह एक अलग सवाल होना चाहिए? जो आप देख रहे हैं वह प्रमुख एक्स-वैल्यू की भीड़ है, मुझे लगता है। मैन्युअल रूप से प्रमुख एक्स-अक्ष और वाई-अक्ष टिक अंकों के मान सेट करने का एक तरीका होना चाहिए, लेकिन मुझे याद नहीं है कि यह क्या है :-( – briandk

+0

@ gd047: 'axis.text.x = theme_text (...) ' – rcs

24

आजकल opts और theme_text का उपयोग बहिष्कृत किया गया प्रतीत होता है। आर theme और element_text का उपयोग करने का सुझाव देता है। जवाब देने के लिए एक समाधान पाया जा सकता है: http://wiki.stdout.org/rcookbook/Graphs/Facets%20%28ggplot2%29/#modifying-facet-label-text

qplot(hwy, cty, data = mpg) + 
     facet_grid(. ~ manufacturer) + 
     theme(strip.text.x = element_text(size = 8, colour = "red", angle = 90)) 
+0

आपके उत्तर के लिए धन्यवाद, यह बेहतर होगा अगर आप एक प्रदान कर सकें एसओ पर आपके लिंक से सारांश और कोड उदाहरण, इस तरह से हम अभी भी लिंक पर निर्भर नहीं हैं क्योंकि सामग्री सीधे एसओ –

+1

पर है। मैंने एक कोड उदाहरण जोड़ा। – moi

3

मैं mpg के उदाहरण में लगता है कि बदलते रोटेशन कोण और फ़ॉन्ट आकार ठीक है, लेकिन कई मामलों में आप चर है कि काफी लंबा लेबल के साथ अपने आप को मिल सकती है , और घूर्णन लंबे लेबल पढ़ने की कोशिश करने के लिए यह गर्दन में (शाब्दिक) दर्द हो सकता है।

तो कोण और आकार बदलने के अलावा (या पूरक) के अलावा, मैं आमतौर पर facet_grid को परिभाषित करने वाले कारकों के लेबल को दोबारा सुधारता हूं, जब भी उन्हें समझ में आता है।

आमतौर पर अगर मैं तार लग रहा है कि

तरह
c("median_something", "aggregated_average_x","error","something_else") 

मैं बस कर के साथ एक dataset$variable: [। शायद वहाँ reformat के बेहतर परिभाषाएं दी गई हैं लेकिन कम से कम यह एक ठीक काम करता है]

reformat <– function(x,lab="\n"){ sapply(x, function(c){ paste(unlist(strsplit(as.character(c) , split="_")),collapse=lab) }) } 

dataset$variable <- factor(dataset$variable, labels=reformat(dataset$variable, lab='\n') 

और फ़ेसटिंग पर, सभी लेबल बी ई बहुत पठनीय:

ggplot(data=dataset, aes(x,y)) + geom_point() + facet_grid(. ~ variable) 
+0

शायद ऐसा कुछ बेहतर है: स्तर (पक्षियों $ प्रभाव) <- gsub ("", "\ n", स्तर (पक्षियों $ प्रभाव)) – dca

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

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