2016-11-21 8 views
9

मैं एक साजिश शीर्षक मैन्युअल दो पंक्तियोंदो इटैलिक शब्द शामिल है जिस पर स्वरूपित बनाने के लिए कोशिश कर रहा हूँ, मैं स्टैक एक्सचेंज पर कुछ searching किया लेकिन नहीं किया है इस प्रतीत होता है कि सरल समस्या के लिए एक अच्छा समाधान मिला।मल्टी लाइन शीर्षक

दो प्रजातियों के वैज्ञानिक नाम काफी लंबे हैं, और इस प्रकार एक बहु-पंक्ति शीर्षक की आवश्यकता है (ggplot2 यह प्रारूपित नहीं करता है)।

उद्देश्य:

.......... पहली पंक्ति शीर्षक के साथ प्रजाति

दूसरी पंक्ति शब्द anotherItalicSpecies अंत

ggplot(mtcars,aes(x=wt,y=mpg))+ 
    geom_point()+ 
    labs(title= expression(paste(atop("First line of title with ", atop((italic("Species"))))," 
     secondline words", italic("anotherSpecies"), "the end"))) 

जो निम्नलिखित उलझन वाले शीर्षक को जन्म देता है:

enter image description here

उत्तर

10

atop का एक संयोजन, paste, italic और scriptstyle का उपयोग करना:

ggplot(mtcars, aes(x = wt, y = mpg)) + 
    geom_point() + 
    labs(title = ~ atop(paste('First line of title with ',italic("Species")), 
         paste(scriptstyle(italic("Species")), 
          scriptstyle(" secondline words "), 
          scriptstyle(italic("anotherSpecies")), 
          scriptstyle(" the end")))) 

आप इच्छित परिणाम देता है:

enter image description here

scriptstyle का उपयोग करना, एक आवश्यकता नहीं है, लेकिन imho यह आपके उपशीर्षक को एक छोटे से रखने के लिए अच्छा है मुख्य शीर्षक से फ़ॉन्ट।

अन्य उपयोगी अनुकूलन के लिए ?plotmath भी देखें।

5

रूप title में पंक्ति विराम डालने के लिए एक विकल्प है, तो आप एक साथ titlesubtitle (ggplot 2.2.0 से उपलब्ध है) के साथ उपयोग कर सकते हैं। संभवतः यह plothmath आईएनजी थोड़ा और सरल बनाता है।

p <- ggplot(mtcars, aes(x = wt, y = mpg)) + 
    geom_point() + 
    labs(title = expression("First line: "*italic("Honorificabilitudinitatibus")), 
     subtitle = expression("Second line: "*italic("Honorificabilitudinitatibus praelongus")*" and more")) 
p 

enter image description here


आप फ़ॉन्ट आकार दोनों लाइनों पर एक ही बने रहना चाहते हैं, theme में size वांछित सेट।

p + theme(plot.title = element_text(size = 12), 
      plot.subtitle = element_text(size = 12)) 

ध्यान दें कि दोनों शीर्षक और उपशीर्षक ggplot2 2.2.0 में डिफ़ॉल्ट रूप से बाईं ओर संरेखित कर रहे हैं। टेक्स्ट को hjust = 0.5 से ऊपर element_text जोड़कर केंद्रित किया जा सकता है।

+0

अच्छा, मैं बस अपने उत्तर में विकास संस्करण से इन सुधारों को शामिल करने के बारे में सोच रहा था ;-) – Jaap

+0

हाहा :-) (प्लस प्लस भी)। वैसे भी, जाहिर है ggplot पिछले हफ्ते अपडेट किया गया था, ध्यान नहीं दिया: - /। दोनों विकल्प होने के लिए अच्छा है। – Jaap

+0

अपग्रेड किया गया है, अच्छा समाधान! लेकिन अब मुझे geom_ribbon में वाई-सौंदर्यशास्त्र से एक त्रुटि प्राप्त हो रही है ...Ggplot 2.2.0 से संबंधित प्रतीत होता है। मैं कुछ खोज करूँगा, लेकिन क्या आपके पास कोई विचार है? – Arch

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