2016-09-30 5 views
2

Die df besteht aus zwei normalen Variablen: a, b, eine Farbe variable: c und eine Gruppenvariable: dWrong Farbe bei der Verwendung von facet_wrap()

df<-data.frame(c(1:5,11:15),c(1:10),c(1,1,1,1,1,2,1,2,1,2),c(rep('o',5),rep('m',5))) 
colnames(df)<-c('a','b','c','d') 

I o und m Gruppen in einem haben wollen Grundstück, so mache ich folgendes:

qplot(a,b,data=df,geom = 'point',color=factor(df$c))+facet_wrap(~d)+scale_colour_manual(values=c("blue","orange")) 

enter image description here die Farbe des Plots Ergebnis ist falsch, nach df soll die Gruppe m blaue und orange Punkte haben. Warum passiert das? Wie könnte ich die richtige Handlung machen?

Diese Frage ist ähnlich zu Behavior ggplot2 aes() in combination with facet_grid() when passing variable with dollar sign notation to aes(). Mein Fall legt nahe, dass $ oder [ nie nur in nicht aes() verwenden, sondern auch facet_wrap()

Antwort

3

Sie $ Notation nicht in ggplot Ästhetik verwenden. Verwenden Sie rohe Variablennamen stattdessen:

qplot(a,b,data=df,geom='point',color=factor(c)) + 
    facet_wrap(~d) + 
    scale_colour_manual(values=c("blue","orange")) 
+0

Das hilft wirklich, vielen Dank! Übrigens, wie kann ich diese zwei Gruppen in einer Spalte mit zwei Zeilen statt einer Zeile mit zwei Spalten wie oben beschrieben lokalisieren? –

+1

Das sollte funktionieren: facet_wrap (Facetten, ** nrow = NULL, ncol = NULL **, Skalen = "fixed", shrink = TRUE, labeller = "label_value", as.table = TRUE, switch = NULL, drop = TRUE , dir = "h") –

+1

Lesen Sie facet_wrap und notieren Sie das Argument nrow. – Axeman

Verwandte Themen