2016-03-18 28 views
5

Sie die Position der Legende im Inneren des Plottingbereich gesetzt, wieggplot2: strip.text Position in facet_grid Plot ändern

... + theme(legend.justification=c(1,0), legend.position=c(1,0)) 

Gibt es eine ähnlich einfache Weise die Position des Streifens Text zu ändern (oder Faktorstufen in gruppierten Diagrammen)

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

im Gitter würde ich etwas wie strip.text = levels (dat $ Y) [panel.number()] und panel.text (...) verwenden, aber es könnte auch ein sauberer Weg sein ...

thx, Christof

+2

Sie könnten nur geom_text Text hinzufügen, wenn Sie unterwegs auf Ihrem Diagramm wollen – MLavoie

+0

MLavoie ja, thx, aber wie bekomme ich die strip.text und die Grundstücksfläche (in Gitter etwas wie panel.number () und current.panel.limits()) ... ich automatisiere das gerne und brauche es nicht für genau dieses Beispiel, wo ich den strip.text und die Positionen kenne. – ckluss

+1

Wenn Sie 'scale_x_continuous'-Grenzwerte manuell festlegen, können Sie vorhersagen, wo der Text fallen würde und basierend auf der Anzahl der Zeichen können Sie die horizontale Position anpassen. –

Antwort

4

Hier ist ein Ansatz:

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

dies ist jedoch nicht die strip.text bewegen, sondern ist das Hinzufügen eines geom_text Element und das strip.background und strip.text ausgeschaltet, aber ich denke, es ist erreichen Es ist das gewünschte Ergebnis.

Plot

Verwandte Themen