使用ggplot重新排序facet_wrap的级别

时间:2013-08-05 20:12:59

标签: r ggplot2

我有一个包含三个因素的现有数据集。我想使用facet_grid()绘制这三个因子,并根据它们在数据集中的排序方式而不是按字母顺序排序。如果不修改我的数据结构,这可能会以某种方式吗?

以下是数据:

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)

1 个答案:

答案 0 :(得分:13)

这个问题在SO上经常出现。您需要获得所需的列(您正在面对的列)作为您所需顺序的级别因素,如下所示:

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

现在,绘制它,你将得到所需顺序的刻面图。

enter image description here