2016-09-30 73 views
2

df由兩個正常的變量時:ab,一個顏色變量:c和一組變量:d錯誤顏色使用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') 

我想有om基團在一個情節,所以我做到以下幾點:

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 積結果的顏色根據df,組m應該有藍色和橙色點。 這是爲什麼發生?我怎麼能做正確的情節?

此問題與Behavior ggplot2 aes() in combination with facet_grid() when passing variable with dollar sign notation to aes()類似。我的情況表明,從未使用$[不僅aes()facet_wrap()

回答

3

不要在ggplot美學使用$符號。改用原始變量名稱:

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

這真的很有幫助,非常感謝!順便說一下,如何將這兩個組以兩行排列而不是一行與上面繪製的兩個colume進行比較? –

+1

這應該工作:facet_wrap(facets,** nrow = NULL,ncol = NULL **,scales =「fixed」,shrink = TRUE,labeller =「label_value」,as.table = TRUE,switch = NULL,drop = TRUE ,dir =「h」) –

+1

閱讀?facet_wrap並記下nrow參數。 – Axeman