Facet_grid grafiklerinin şerit metnini nasıl değiştirebilirim?


100

Yontulmuş grafiklerde şerit metnin boyutunu nasıl değiştirebileceğimi merak ediyorum. Sorum, arsa başlıklarıyla ilgili bir soruya benzer , ancak özellikle konu başlığını değil, faset başlıklarında (strip_h) görünen metni değiştirmekle ilgileniyorum.

Örnek olarak, mpg veri kümesini düşünün.

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

Ortaya çıkan çıktı , şeride sığmayan bazı faset başlıkları üretir.

gridStriptiz metniyle başa çıkmanın bir yolu olmalı diye düşünüyorum . Ama hala acemiyim ve Hadley'in kitabındakigrid ekte bunu tam olarak nasıl yapacağımdan emin değildim . Ayrıca, yanlış yaparsam çamaşır makinemin bozulacağından korkuyordum, çünkü tüm teknolojinin The Force aracılığıyla bağlantılı olduğuna inanıyorum :-(

Şimdiden çok teşekkürler.

Yanıtlar:


135

Örneğin, kullanarak değiştirebilirsiniz strip.text.x(veya 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))

Güncelleme: ggplot2 sürümü> 0.9.1 için

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

+1 Çok güzel. Ayrıca x ekseni açıklamasını geliştirmenin bir yolu var mı?
George Dontas

Teşekkürler rcs. Gd047 ile birlikteyim ve belki bu ayrı bir soru olmalı? Bence asıl fark ettiğiniz şey büyük x değerlerinin kalabalıklığı. Büyük x ekseni ve y ekseni onay işaretlerinin değerlerini manuel olarak ayarlamanın bir yolu olmalı, ancak ne olduğunu hatırlayamıyorum :-(
briandk

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



6

mpgDönme açısını ve yazı tipi boyutunu değiştirme örneğinde sanırım sorun yok, ancak birçok durumda kendinizi oldukça uzun etiketlere sahip değişkenlerle bulabilir ve döndürülmüş uzun etiketleri okumayı denemek (kelimenin tam anlamıyla) başınıza bela olabilir. .

Bu yüzden değişen açılara ve boyutlara ek (veya tamamlayıcı) olarak, genellikle facet_gridmantıklı bir şekilde bölünebileceklerini tanımlayan faktörlerin etiketlerini yeniden biçimlendiriyorum .

Genelde dataset$variableşuna benzeyen dizelerim varsa

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

Ben basitçe yapıyorum:

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

[belki daha iyi tanımları vardır, reformatancak en azından bu iyi çalışıyor.]

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

Ve yontulduğunda, tüm etiketler çok okunabilir olacaktır:

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

1
Belki bunun gibi bir şey daha iyidir: seviyeler (kuşlar $ etkisi) <- gsub ("", "\ n", seviyeler (kuşlar $ etkisi))
dca
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.