2016-03-18 10 views
5

yılında strip.text konumunu değiştirmek şerit metni konumunu (değiştirmek için benzer kolay bir yolu var mı gruplandırılmış noktalan ya da faktör düzeyleri)ggplot2:</p> <pre><code>... + theme(legend.justification=c(1,0), legend.position=c(1,0)) </code></pre> <p>gibi, sen Çizim alanının içine göstergenin konumunu ayarlayabilirsiniz facet_grid arsa

library(reshape2); library(ggplot2) 

sp <- ggplot(tips, aes(x=total_bill, y=tip/total_bill)) + geom_point() + 
    facet_grid(. ~ sex) 

sp 

enter image description here

(http://www.cookbook-r.com/Graphs/Facets_%28ggplot2%29/)

kafes içinde strip.text = levels (dat $ Y) [panel.number()] ve panel.text (...) gibi bir şey kullanırdım, ancak daha temiz bir yol da olabilir ...

thx Christof

+2

sadece metin eklemek için geom_text kullanabilirsiniz – MLavoie

+0

MLavoie evet, thx ama panel.number gibi kafes şey (strip.text ve arsa alanı nasıl elde edersiniz () ve current.panel.limits()) Bunu otomatik hale getirmeyi seviyorum ve strip.text'i ve pozisyonları bildiğim bu tam örnek için buna ihtiyacım yok. – ckluss

+1

"scale_x_continuous" limitlerini manuel olarak ayarlarsanız, metnin nereye düşeceğini ve yatay konumu ayarlamak için telafi edebileceğiniz karakter sayısına bağlı olarak tahmin edebilirsiniz. –

cevap

4

İşte bir yaklaşımdır:

ggplot(tips, aes(x = total_bill, y = tip/total_bill)) + 
    geom_point() + 
    facet_grid(. ~ sex) + 
    geom_text(aes(label = sex), x = Inf, y = Inf, hjust = 1.5, vjust = 1.5) + 
    theme(strip.background = element_blank(), 
     strip.text = element_blank()) 

ancak bu daha ziyade bir geom_text eleman ekleme ve strip.background ve strip.text kapatarak oluyor, strip.text hareket etmiyor, ama öyle düşünüyorum achiev istenen sonucu verir. Eğer grafikte istediğiniz yere

Plot

İlgili konular