使用ggplot重新排序facet_wrap的级别

use*_*765 4 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)
Run Code Online (Sandbox Code Playgroud)

Aru*_*run 13

这个问题在SO上经常出现.您需要获得所需的列(您正在通过哪个列)作为具有所需顺序的级别的因子,如下所示:

data$X.1 <- factor(data$X.1, levels=unique(data$X.1))
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述

  • 如果因子顺序正确,您将只以正确的顺序获得构面.不要忘记您可以将订单分别设置为级别. (3认同)