मैं facet_grid भूखंडों की पट्टी पाठ में कैसे हेरफेर कर सकता हूं?


100

मैं सोच रहा हूँ कि कैसे मैं facetted भूखंडों में पट्टी पाठ के आकार में हेरफेर कर सकता हूं। मेरा प्रश्न प्लॉट के शीर्षक पर एक प्रश्न के समान है , लेकिन मैं विशेष रूप से प्लॉट शीर्षक नहीं बल्कि पाठ का शीर्षक (स्ट्रिप_ह) में प्रकट होने वाले पाठ से छेड़छाड़ से चिंतित हूं।

उदाहरण के लिए, mpg डेटासेट पर विचार करें।

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

परिणामी आउटपुट कुछ पहलू शीर्षक पैदा करता है जो पट्टी में फिट नहीं होते हैं।

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

अग्रिम में बहुत धन्यवाद।

जवाबों:


134

उदाहरण के लिए, आप संशोधित 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))

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

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

@ gd047:axis.text.x=theme_text(...)
आरसीएस

1
इस प्रश्न के लिंक कुछ जानकारीपूर्ण होने चाहिए: stackoverflow.com/questions/2258784/list-of-ggplot2-options
रोमन लुसट्रिक

32

आजकल का उपयोग 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))

6

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

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

आमतौर पर अगर मेरे पास एक dataset$variableतार है जो दिखता है

c("median_something", "aggregated_average_x","error","something_else")

मैं बस करता हूँ:

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

[शायद इसकी बेहतर परिभाषा है reformatलेकिन कम से कम यह ठीक काम करता है।]

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

और मुखर होने पर, सभी लेबल बहुत पठनीय होंगे:

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

1
शायद ऐसा कुछ बेहतर है: स्तर (पक्षी $ प्रभाव) <- gsub ("", "\ n", स्तर (पक्षी $ प्रभाव))
dca
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.