2016-11-21 13 views
9

el iki italik kelimeleri içerir iki hat üzerinde biçimlendirilmiş bir arsa başlık oluşturmak çalışıyorum, ben Stack Exchange'de bazı searching yapmış fakat var olan Bu görünüşte basit bir sorun için iyi bir çözüm bulundu. İki türün bilimsel isimleri oldukça uzundur ve bu nedenle çok satırlı bir başlık gereksinimi vardır (ggplot2 bunu biçimlendirmez).Çoklu hat başlık

Amaç:

.......... İlk Satır Başlığı ile Türler

İkinci satır kelimeler 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"))) 

Aşağıdaki karma başlık aşağıdaki gibidir:

Bir atop kombinasyonunu, paste, italic ve scriptstyle kullanma

enter image description here

cevap

10

:

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")))) 

size istenen sonucu verir:

enter image description here

scriptstyle kullanarak, bir zorunluluk değil ama imho, altyazınızı daha küçük hale getirmek daha güzel ana başlıktan daha Diğer yararlı özelleştirmeler için ?plotmath numaralı belgeye de bakın.

5

title satır sonu ekleme alternatif, siz (ggplot 2.2.0 temin edilebilir) subtitle birlikte title kullanabilir gibi. Muhtemelen bu, plothmath'un biraz daha basit olmasını sağlar.


yazı tipi boyutunu her iki hattan da aynı olması isterseniz

enter image description here

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 
, theme içinde size istenen ayarlayın. başlık ve alt başlık hem ggplot2 2.2.0 varsayılan olarak sola hizalanır

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

Not. Metin, yukarıdaki element_text'a hjust = 0.5 eklenerek ortalanabilir.

+0

Nice, Sadece bu geliştirmeleri geliştirme sürümüne dahil etmeyi düşünüyordum ;-) – Jaap

+0

Haha :-) (artı artı). Neyse, görünüşe göre ggplot geçen hafta güncellendi, fark etmedi: - /. Her iki seçeneğe de sahip olmak güzel. – Jaap

+0

Yükseltilmiş, güzel bir çözüm var! ama şimdi geom_ribbon'da y-estetikten bir hata alıyorum ...Ggplot 2.2.0 ile ilgili olarak görünür. Biraz arama yapacağım, ama herhangi bir fikrin var mı? – Arch