2013-08-05 31 views
4

我有一個包含三個因素的現有數據集。我想用facet_grid()來繪製這三個因子,並根據它們在數據集中的排序方式而不是按字母順序排序。這可能做某種方式而不修改我的數據結構?使用ggplot重新排列facet_wrap的等級

這裏的數據:

https://dl.dropboxusercontent.com/u/22681355/data.csv 

data<-read.csv("data.csv", head=T) 

ggplot(data, aes(time,a, color="one")) + 
    geom_line(linetype=1, size=0.3) + 
    scale_y_continuous(breaks=seq(0,1,0.2)) + 
    scale_x_continuous(breaks=seq(100,300,50)) + 
    theme_bw() + 
    geom_line(aes(time,b)) + 
    geom_line(aes(time,c)) + 
    geom_line(aes(time,d))+facet_wrap(~X.1) 
+0

如何從'data'獲得'net'? – Arun

+0

對不起,這是一個錯誤 – user1723765

+0

你試過自​​己運行這個命令嗎?每個方面只有1個觀察。你知道嗎? – Arun

回答

13

出現這個問題相當常常對SO。您對獲得所需的列(由你磨製)與你的願望的順序水平的因素,如下:

data$X.1 <- factor(data$X.1, levels=unique(data$X.1)) 

現在,繪製它,你會得到的多面積所需的順序。

enter image description here

+0

感謝您的快速和有益的答案! – user1723765

+3

如果因子順序正確,您只會按正確的順序獲取構面。不要忘記你可以設置單獨的水平。 –